#29112: 為什麼TLE!!!!!!!!!!!!!!!!!!!!!


david930305@gmail.com (涵涵涵涵涵的阿兔兔兔兔兔)

學校 : 國立臺中第二高級中學
編號 : 115400
來源 : [140.113.89.231]
最後登入時間 :
2023-08-20 21:22:52
a010. 因數分解 | From: [210.209.208.81] | 發表日期 : 2022-01-29 21:20

#include <iostream>

 

using namespace std;

int prime(int a);

int main()//質因數分解

{

 

    int N;//正整數

 

    cin >> N;

    for(int i=2;i<=N;i++){

        if(prime(i) == 0){

            int ct=0;//計數

            while(N%i==0){

                ct++;

                N/=i;

            }

            if(ct > 1){

                cout << i << "^" << ct;

                if(N > 1) cout << " * ";

            }

 

            else if(ct == 1){

                cout << i;

                if(N > 1) cout << " * ";

            }

        }

    }

    return 0;

}

int prime(int a){//檢查質數

    int ct=0;//計數

    for(int i=a-1;i>1;i--){

        if(a%i == 0) ct+=1;

    }

 

    return ct;

}

 
#29115: Re:為什麼TLE!!!!!!!!!!!!!!!!!!!!!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a010. 因數分解 | From: [39.10.69.232] | 發表日期 : 2022-01-30 08:48

        if(prime(i) == 0){


prime()是多餘的,不需要檢查質數

 
ZeroJudge Forum