|

楼主 |
发表于 2020-1-18 19:11:49
|
显示全部楼层
代码如下:
- #include <stdio.h>
- #include <math.h>
- int isPrime(const long long int n);
- int isPrime(const long long int n)
- {
- int i;
- if (n <= 1)
- {
- return 0;
- }
- else
- {
- if (n == 2)
- {
- return 1;
- }
- else if (!(n % 2))
- {
- return 0;
- }
- else
- {
- for (i = 3; i < (int)(sqrt((double)n))+1; i += 2) // 提示错误的地方
- {
- if (!(n % i))
- {
- return 0;
- }
- }
- }
- }
- return 1;
- }
- int main()
- {
- unsigned long long i, j, k, num = 600851475143;
- for (i = (num / 2); i > 1; i--)
- {
- if ((isPrime(i)) && !(num % i))
- {
- break;
- }
- }
- printf("%lld\n", i);
- return 0;
- }
复制代码 |
|