#29051: 我怎麼只有42%???


010521@mail.pcsh.ntpc.edu.tw (Terry practice c++)

學校 : 新北市立板橋高級中學
編號 : 173875
來源 : [140.120.220.44]
最後登入時間 :
2024-11-21 10:42:07
a010. 因數分解 | From: [101.137.100.189] | 發表日期 : 2022-01-25 15:15

#include<bits/stdc++.h>

using namespace std;

 

int devide(int n){

    int i;

    for(i = 2; i < n && n % i; i++);

    return !(i < n);

}

 

int main(){

    long long n;

    int i, c = 0, f = 0;

    cin >> n;

    for(i = 2; i <= n ; i++){

        if(!devide(i))

            continue;

        if(n % i == 0){

            if(f == 1)

                cout << " * ";

            cout << i;

            f = 1;

            while(n % i == 0){

                n /= i;

                c++;

            }

            if(c > 1)

                cout << '^' << c;

            c = 0;

        }

    }

 

}

 

 
#29056: Re:我怎麼只有42%???


cges30901 (cges30901)

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

        if(!devide(i))

            continue;


 


你的devide()是多餘的,刪掉就不會TLE了

 
#29064: Re:我怎麼只有42%???


010521@mail.pcsh.ntpc.edu.tw (Terry practice c++)

學校 : 新北市立板橋高級中學
編號 : 173875
來源 : [140.120.220.44]
最後登入時間 :
2024-11-21 10:42:07
a010. 因數分解 | From: [101.136.106.214] | 發表日期 : 2022-01-26 12:40

        if(!devide(i))

            continue;


 


你的devide()是多餘的,刪掉就不會TLE了

ok!感恩XD

 
ZeroJudge Forum