codevs1792 分解质因数
题目描述 Description
编写一个把整数N分解为质因数乘积的程序。
输入描述 Input Description
输入一个整数 N
输出描述 Output Description
输出 分解质因数 。拆成几个质数相乘的形式,质数必须从小到大相乘
样例输入 Sample Input
756
样例输出 Sample Output
756=2*2*3*3*3*7
数据范围及提示 Data Size & Hint
范围在longint内。不是高精度。
#include <stdio.h> #include <math.h> int prime(int a) { int i; for(i=2;i<sqrt(a);i++) if(a%i==0) return 1; return 0; } int main() { int i,n,flag=0; scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) { if(prime(i)) continue; while(1) { if(n%i==0) { n/=i; if(n!=1) printf("%d*",i); else printf("%d",i); } else break; } } return 0; }