高中生程式解題
a010: 因數分解
範例輸入 :
20 17 999997
範例輸出 :
2^2 * 5 17 757 * 1321
#include<stdio.h> int main(void) { int i,num,len=0; while(scanf("%d",&num)!=EOF) { for(i=2;i<num;i++) { while(num%i==0) //餘數為0,代表i為num的因數 { num/=i; len++; } if(len!=0) { if(num==1) //num為i因數的len倍 printf("%d^%d\n",i,len); else if(len==1) printf("%d * ",i); else printf("%d^%d * ",i,len); len=0; } } if(num==1) ; else printf("%d\n",i); } return 0; }
文章標籤
全站熱搜
留言列表