Это мой код:
#include <iostream>
using namespace std;
int main()
{
long int x = 1;
long int res;
while (x<600851475143)
{
x++;
if(600851475143%x==0)
{
res=x;
cout<<x<<"\n";
}
}
}
Я не знаю, что с ним не так, но он дает мне такой вывод:
839
1471
6857
59569
104441
486847
1234169
5753023
10086647
87625999
408464633
716151937
-716151937
-408464633
-87625999
-10086647
-5753023
-1234169
-486847
-104441
-59569
-6857
-1471
-839
-71
-1
Floating point exception
Process returned 136 (0x88) execution time : 156.566 s
Press ENTER to continue.
и когда я заменяю 600851475143 на 13195 [что было в примере] ...
он работает нормально ... и дает мне такой вывод:
5
11
55
11149
Process returned 0 (0x0) execution time : 0.005 s
Press ENTER to continue.
Я не знаю, что я делаю неправильно ... :/
Возможно, моя предыдущая программа не работала должным образом ... Сначала я попробовал ее с int, а затем изменил на long int ... Без разницы ...