高中生程式解題
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;
}
文章標籤
全站熱搜
