#21453: 不用求出全部因數


abs71507@gmail.com (46 5)

學校 : 國立中興大學
編號 : 87742
來源 : [36.235.200.136]
最後登入時間 :
2023-05-24 14:06:42
d446. 生成因數 | From: [39.9.227.51] | 發表日期 : 2020-06-04 23:59

運用for迴圈使i從1數到sqrt(input) //輸入取根號(記得用浮點數來紀錄)

記錄所有可整除input 的i值

並加入陣列之中

輸出時先把陣列內容輸出

再輸出input除陣列 //從末端到起始

如果input整除陣列元素並且陣列元素不等於squt(input) 

就輸出input除陣列元素的值

例如36 36取根號為6

陣列元素為     1 2 3 4 6

而36除陣列元素為 36 18 12 9 6 (因此從陣列末端輸出)

 

 
#25312: Re:不用求出全部因數


allllllan123456 (God of Computer Science)

學校 : 國立臺灣大學
編號 : 13732
來源 : [140.109.20.138]
最後登入時間 :
2021-07-08 17:41:52
d446. 生成因數 | From: [140.109.20.138] | 發表日期 : 2021-05-09 18:35

運用for迴圈使i從1數到sqrt(input) //輸入取根號(記得用浮點數來紀錄)

記錄所有可整除input 的i值

並加入陣列之中

輸出時先把陣列內容輸出

再輸出input除陣列 //從末端到起始

如果input整除陣列元素並且陣列元素不等於squt(input) 

就輸出input除陣列元素的值

例如36 36取根號為6

陣列元素為     1 2 3 4 6

而36除陣列元素為 36 18 12 9 6 (因此從陣列末端輸出)

 

同學我用你的作法好像 TLE 餒...

 
#27345: Re:不用求出全部因數


d10831523@gapps.fg.tp.edu.tw (廖與僑)

學校 : 臺北市立第一女子高級中學
編號 : 107948
來源 : [211.75.180.175]
最後登入時間 :
2022-10-03 21:31:01
d446. 生成因數 | From: [223.136.234.13] | 發表日期 : 2021-09-25 13:49

sqrt(input) 其實可以用整數存 也不會錯

 



 
#27346: Re:不用求出全部因數


d10831523@gapps.fg.tp.edu.tw (廖與僑)

學校 : 臺北市立第一女子高級中學
編號 : 107948
來源 : [211.75.180.175]
最後登入時間 :
2022-10-03 21:31:01
d446. 生成因數 | From: [223.136.234.13] | 發表日期 : 2021-09-25 13:52

結果我也TLE==

扣:

 

#include<bits/stdc++.h>

using namespace std;

#define int long long

//TLE

signed main(){

ios::sync_with_stdio(0),cin.tie(0);

int n,sqn,l;

vector<int>a;

while(cin>>n){

a.clear();

sqn=pow(n,0.5);

for(int i=2;i<=sqn;i+=1+(i%2&&n%2))if(n%i==0)a.push_back(i);

l=a.size();

cout<<"1 ";

for(int i=0;i<l;i++)cout<<a[i]<<" ";

for(int i=l-1;i>=0;i--)cout<<n/a[i]<<" ";

cout<<n<<"\n";

}

}

 
ZeroJudge Forum