小弟接觸C語言差不多1月半.雖然有很多地方不太熟悉.可以請高手們簡化小弟我的程式.放上來給別人做為參考
看到這題.小弟首先想到 因數部分,單純弄出因數不難,難點都在輸出部分,怎麼判斷平方根顯示
因為原本就是從小除到大,所以不用排序,不然還要寫一個排序迴圈.
#include<stdio.h>
int main()
{
int number;
while(scanf("%d",&number)!=EOF)
{
int i=0,T=0;
for(i=2;i<=number;i++)//不包含1
{
while(number%i==0) //計算平方部分,變數為T
{
T++;
number/=i;
}
if(T>1) //T>1 表示因數部分有平方的數
{
if(number/i!=0) //因為要判斷除完的數是否為0在加上 *號
printf("%d^%d * ",i,T);
else
printf("%d^%d",i,T);
}
else if(T==1)
{
if(number/i!=0)
printf("%d * ",i);
else
printf("%d",i);
}
T=0;//次數要做歸0,不然會一直累加上去
}
printf("\n");
}
return 0; // C++會幫你加上去,打不打都無所謂,C要打上去不然哭給你看
}