其他分享
首页 > 其他分享> > Codeforces Round #655 题解

Codeforces Round #655 题解

作者:互联网

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;
}

标签:frac,int,题解,scanf,namespace,Codeforces,655,using,include
来源: https://www.cnblogs.com/lajiccf/p/CF655.html