高中生程式解題

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;
}
 

 

arrow
arrow
    文章標籤
    因數分解
    全站熱搜

    東勢厝滴yang 發表在 痞客邦 留言(0) 人氣()