Ia aici, ceva in C++
- Cod: Selectaţi tot
#include <cmath>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int start = 1000000;
unsigned int number = start;
int d = 0;
int x = 0;
int i = 0;
unsigned int sum1 = 0;
unsigned int sum2 = 0;
LARGE_INTEGER lFreq, lStart, lEnd;
QueryPerformanceFrequency(&lFreq);
QueryPerformanceCounter(&lStart);
while(number != 0)
{
d = 2;
sum1 = 1;
x = sqrt((float)number);
while(sum1 += (!(number % d++) ? (d-1) + number / (d-1) : 0), d <= x);
if(sum1 > start)
{
d = 2;
x = sqrt((float)sum1);
sum2 = 1;
while(sum2 += (!(sum1 % d++) ? (d-1) + sum1 / (d-1) : 0), d <= x);
if(sum2 == number && number != sum1)
{
QueryPerformanceCounter(&lEnd);
if(sum2 == number && number != sum1)
printf("%d, %d found in %lf seconds\n", number, sum1,
(double(lEnd.QuadPart - lStart.QuadPart) / lFreq.QuadPart));
}
}
number++;
}
return 0;
}
Rezultate pe un Intel Core2 6600 @ 2.40GHz:
- Cod: Selectaţi tot
1077890, 1099390 found in 0.995056 seconds
1099390, 1077890 found in 1.281552 seconds
1154450, 1189150 found in 2.031244 seconds
1156870, 1292570 found in 2.064800 seconds
1175265, 1438983 found in 2.322432 seconds
1185376, 1286744 found in 2.464705 seconds
1189150, 1154450 found in 2.517882 seconds
1280565, 1340235 found in 3.845313 seconds
1286744, 1185376 found in 3.937708 seconds
1292570, 1156870 found in 4.024996 seconds
1328470, 1483850 found in 4.569408 seconds
1340235, 1280565 found in 4.752192 seconds
1358595, 1486845 found in 5.040557 seconds
1392368, 1464592 found in 5.577560 seconds
1438983, 1175265 found in 6.340507 seconds
1464592, 1392368 found in 6.773898 seconds
1466150, 1747930 found in 6.799562 seconds
1468324, 1749212 found in 6.835368 seconds
1483850, 1328470 found in 7.093063 seconds
1486845, 1358595 found in 7.142595 seconds
1511930, 1598470 found in 7.561186 seconds
1598470, 1511930 found in 9.036189 seconds
1669910, 2062570 found in 10.292292 seconds
1747930, 1466150 found in 11.703353 seconds
1749212, 1468324 found in 11.727245 seconds
1798875, 1870245 found in 12.646938 seconds
1870245, 1798875 found in 13.996658 seconds
2062570, 1669910 found in 17.835142 seconds
2082464, 2090656 found in 18.250374 seconds
2090656, 2082464 found in 18.422272 seconds
2236570, 2429030 found in 21.548343 seconds
2429030, 2236570 found in 25.865721 seconds
2652728, 2941672 found in 31.136261 seconds
2723792, 2874064 found in 32.879283 seconds
2728726, 3077354 found in 33.000414 seconds
2739704, 2928136 found in 33.273319 seconds
2802416, 2947216 found in 34.861520 seconds
2803580, 3716164 found in 34.890289 seconds
2874064, 2723792 found in 36.732089 seconds
2928136, 2739704 found in 38.158531 seconds
2941672, 2652728 found in 38.501841 seconds
2947216, 2802416 found in 38.643637 seconds





.