2011年6月17日 星期五

Online Judge-因數分解


因數分解就是把一個數字,切分為數個質數的乘積,如 12=2^2 * 3
其中, 次方的符號以 ^ 來表示


ex:
in:
12
17
999997

out:
2^2 * 3
17
757 * 1321
code:
 1 #include<stdio.h>
 2 int main()
 3 {
 4         int n;
 5         while(scanf("%d",&n)!=EOF)
 6         {
 7                 int i=2,k=n;
 8                 while(k>1)
 9                 {
10                         int m=0;
11                         while(k%i==0)
12                         {
13                                 m++;
14                                 k/=i;
15                         }
16                         if(m==1)printf("%d",i);
17                         else if(m>1) printf("%d^%d",i,m);
18                         if(k>1&&m!=0) printf(" * ");
19                         i++;
20                 }
21                 puts("");
22         }
23         return 0;
24 }

沒有留言:

張貼留言