ilsoviet1917 发表于 2017-12-5 20:53:27

我这个程序运行没反应,编译没有提示错误,咋回事?

求600851475143的最大因子

#include <stdio.h>
#include <math.h>

int main (void)
{
        long long int num = 600851475143, i, result;
        _Bool flag = 1;
        for (i = num - 1; i > 1; i--){
                if (num % i == 0){
                        break;
                }
        }
        printf ("%lld是最大因子\n", i);
        return 0;
}

编译没有报错,运行的时候没有任何反应,就一个光标在闪,也没结果。

编译命令这么写对吗?gcc -std=c99 -lm ex1_2.c -o ex1_2

BngThea 发表于 2017-12-5 21:09:54

只是生成了obj文件
还要生成可执行文件并执行

ilsoviet1917 发表于 2017-12-5 22:09:33

BngThea 发表于 2017-12-5 21:09
只是生成了obj文件
还要生成可执行文件并执行

有exe文件的

好多好多鱼 发表于 2017-12-6 21:46:26

你再等等就有了 数太大了

ilsoviet1917 发表于 2017-12-6 21:50:21

好多好多鱼 发表于 2017-12-6 21:46
你再等等就有了 数太大了

我都等了好几分钟了,按说我机器配置也不错6600的CPU

好多好多鱼 发表于 2017-12-6 22:03:38

ilsoviet1917 发表于 2017-12-6 21:50
我都等了好几分钟了,按说我机器配置也不错6600的CPU

你printf i 不就知道了吗 。你数那么大

寒月独狼 发表于 2017-12-7 02:18:59

本帖最后由 寒月独狼 于 2017-12-7 02:47 编辑

#include <stdio.h>
#include <math.h>

int main(void)
{
        long long int num = 600851475143, i, result;
        _Bool flag = 1;
        for (i = 2; i <num; i++) {
                if (num % i == 0) {
                        break;
                }
        }
        result = num / i;
        printf("%lld是最大因子\n", result);

        return 0;
}
这样,结果一下子就出来了
页: [1]
查看完整版本: 我这个程序运行没反应,编译没有提示错误,咋回事?