Coprime को देखते हुए , कर सकते हैं आप जल्दी से गणना
यहाँ पूर्णांक हैं। स्पष्ट रूप से लेने से एक निर्बाध उत्तर मिलता है; सामान्य तौर पर ये शक्तियां कितनी पास हो सकती हैं? इसके अलावा, हम न्यूनतम गणना कैसे करते हैं ?
Coprime को देखते हुए , कर सकते हैं आप जल्दी से गणना
यहाँ पूर्णांक हैं। स्पष्ट रूप से लेने से एक निर्बाध उत्तर मिलता है; सामान्य तौर पर ये शक्तियां कितनी पास हो सकती हैं? इसके अलावा, हम न्यूनतम गणना कैसे करते हैं ?
जवाबों:
पहले मैंने सोचा था कि इसके कन्वर्टर्स पर और परीक्षण के निरंतर अंश का उपयोग करना सबसे अच्छा होगा , क्योंकि उस कनवर्जेन्स में कुछ अर्थों में इष्टतम अर्थ हैं। उसके बाद यह स्पष्ट हो जाता है, कि कम से कम सामान्यीकृत निरंतर अंशों का उपयोग करने की आवश्यकता है ताकि मोनोटोनिक की घटती दूरियों को सुनिश्चित किया जा सके।
उसके बाद और इस के साथ जटिल एल्गोरिथ्म निम्नलिखित जानवर बल algo भी Pari / GP में तेज था
\\ print X,Y,d conditional X>lowboundX, Y > lowboundY, d<upperboundD
{pri1(lbX,lbY,ubd,a,b,X,Y,d)=if(X<lbX || Y<lbY || abs(d)>ubd,return(0));
print(a,"^",X,"-",b,"^",Y,"=",d)); }
{mylist(maxa=19,maxb=99,lbX=3,lbY=2,ubd=100)=print(" ");
for(a=2,maxa,for(b=a+1,maxb,
if(gcd(a,b)>1,next()); \\ ignore trivial multiples
X=1;Y=1;Xa=a;Yb=b;
d=Xa-Yb; pri1(lbX,lbY,ubd,a,b,X,Y,d);
for(k=1,20,
while(d<0,Xa*=a;d=Xa-Yb;X++;pri1(lbX,lbY,ubd,a,b,X,Y,d););
while(d>0,Nb*=b;d=Xa-Yb;Y++;pri1(lbX,lbY,ubd,a,b,X,Y,d););
if(X>30 || Y>20, break()); \\ stop at max X=30 or Y=20
);
)); }
उसके बाद mylist(100,1000,3,3,100)
सभी छोटे अंतर को खोजने के लिए कॉल करें जहां दोनों सभी ठिकानों के लिए कम से कम हैं और । केवल और ।
यह निरंतर-अंश दृष्टिकोण (जो समाधानों की पूर्णता के साथ उदाहरण के लिए और भी अधिक निर्दोष था) की तुलना में बहुत तेज था (जो पूर्ण रूप से संभालना मुश्किल है) हालांकि यह किसी भी तरह से भोली अहंकार है ...
एक प्रोटोकॉल (मैन्युअल रूप से ऑर्डर किया गया):
gettime();mylist(200,10 000,3,3,100);gettime() /1000.0 \\ ~ a*b/6000 sec
(400 sec)
2^8- 3^5= 13
6^7-23^4= 95
2^7- 3^4= 47
2^7- 5^3= 3
2^5- 3^3= 5
3^4- 4^3= 17
---------------
2^6- 3^4=-17
3^5- 4^4=-13
2^5- 3^4=-49
2^8- 7^3=-87
(4^4- 7^3=-87)
3^7-13^3=-10
2^6- 5^3=-61
(4^3- 5^3=-61)
2^5- 5^3=-93
2^4- 3^3=-11
3^4- 5^3=-44
6^4-11^3=-35
15^4-37^3=-28
3^3- 4^3=-37
3^3- 5^3=-98
5^3- 6^3=-91