c语言质因数分解题目怎么做

2024-11-22 18:34:46
推荐回答(1个)
回答(1):

#include

#include

int main() {

long long n,i,j,k;

while(~scanf("%ld",&n)) {

k=1;

for(i=2; i<=sqrt(n); i++) {

j=0;

if(n%i==0) {

if(k)k=0;

else printf("*");

printf("%ld",i);

while(n%i==0) {

j++;

n/=i;

}

if(j>1)printf("^%ld",j);

}

}

if(n>1)

if(k)printf("%ld",n);

else printf("*%ld",n);

printf("\n");

}

return 0;

}