language: C++ 4.7.2 (gcc-4.7.2)
date: 383 days 19 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <math.h>
#include <iostream>
 
int FermatFactor(int oddNumber)
{
    int a = sqrt(oddNumber)+1;
    int b2 = a*a - oddNumber;
    std::cout << "B2: " << b2 << "a: " << a << std::endl;
 
    int tmp = sqrt(b2);
    while (tmp*tmp != b2)
    {
        a = a + 1;
        b2 = a*a - oddNumber;
        std::cout << "B2: " << b2 << "a: " << a << std::endl;
        tmp = sqrt(b2);
    }
 
    return a + tmp;
}
 
int main() {
        std::cout << "5959 => " << FermatFactor(5959) << std::endl;
        return 0;
}