问题链接:。
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
对于正整数N的质因数分解,指的是将其写成以下形式: N=p1*p2*...*pm,其中p1,p2,...pm为不下降的质数 给定N,输出其质因数分解的形式。
输入
输入一个正整数N。
输出
输出N的质因数分解的形式p1*p2*...*pm,其中p1,p2,...,pm都是质数,且p1<=p2<=...<=pm。
样例输入
60样例输出
2*2*3*5
数据范围限制
2<=N<=10^9
提示
问题分析
整数因子分解问题,从小到大试探即可。
结束条件需要控制好。
输出格式需要控制好。
程序说明(略)
要点详解
- 把功能封装到函数中是一个好的做法。
- 要根据输入数的类型选用合适的类型。
参考链接:。
100分通过的程序:
#includevoid fact(long n){ long i; int flag = 0; for(i=2; i*i<=n; i++) { if(n%i == 0) { n /= i; if(flag) printf("*%ld", i); else { printf("%ld", i); flag = 1; } while(n%i == 0) { n /= i; if(flag) printf("*%ld", i); else { printf("%ld", i); flag = 1; } } } } if(n>1) { if(flag) printf("*%ld", n); else printf("%ld", n); } printf("\n");}int main(void){ long n; scanf("%ld", &n); fact(n); return 0;}