gpt4 book ai didi

c - 程序编译但不执行

转载 作者:行者123 更新时间:2023-11-30 16:56:49 24 4
gpt4 key购买 nike

我编译了程序,但是当我输入=600851475143时没有结果。该程序是找到最大的素因数(13195的素因数是5、7、13和29。最大的素因数是多少号码 600851475143 ?)怎么了?

#include<stdio.h>


int isprime(unsigned long n){
unsigned long i;
for(i=2;i<n;i++){
if((n%i)==0){
return 0;
}
}
return 1;
}

int main(){
unsigned long n,i,lpf;
scanf("%ld",&n);
for(i=2;i<n;i++){
if(n%i==0){
if(isprime(i)==1){
lpf=i;}
}
}
printf("%ld",lpf);
return 0;
}

最佳答案

您有一个 for 循环,其运行时间大致为您输入的数字的次数,i2n-1。在该 for 循环中,您调用一个函数,该函数大约运行 i 次,这与循环中的 i 次相同。这意味着您的程序围绕 n^2 数学计算进行,其中 n 是您的输入。如果输入 12 位数字,n^2 就是 24 位数字的大小,对于程序来说,执行 10^24 会花费很多时间> 计算。所以你的程序确实运行了,它只是计算。

关于c - 程序编译但不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39798008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com