#13000: C 參考


a4545113 (LUMING)

學校 : 不指定學校
編號 : 71789
來源 : [118.169.194.90]
最後登入時間 :
2018-10-08 20:41:26
a010. 因數分解 | From: [59.115.15.121] | 發表日期 : 2017-11-17 10:01

小弟接觸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要打上去不然哭給你看
}

 
ZeroJudge Forum