Codeforces Round #655 題解
阿新 • • 發佈:2020-07-25
https://codeforces.com/contest/1372
A
眾所周知,\(1+1\neq 1\)。
所以輸出 \(n\) 個 \(1\) 即可。
時間複雜度 \(O(tn)\)。
#include <bits/stdc++.h> using namespace std; int t; int n; int main() { scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;i++) printf("1 "); puts(""); } return 0; }
B
設 \(x\) 為 \(n\) 最小的質因數。
此時答案為 \(\frac{n}{x},n-\frac{n}{x}\)。
於是可以 \(O(\sqrt{n})\) 解決每組資料。
#include <bits/stdc++.h> using namespace std; int t; int n,fl; int main() { scanf("%d",&t); while(t--) { scanf("%d",&n); fl=1; for(int i=2;i*i<=n;i++) if(n%i==0) { printf("%d %d\n",n/i,n-n/i); fl=0; break; } if(fl) printf("%d %d\n",1,n-1); } return 0; }