NC229685. 模板题【线性筛求积性函数】
描述
输入描述
第一行一个正整数 。
第二行到第 行,每行一个正整数 。
输出描述
对于每个询问,输出一个正整数。两个答案间用空行分隔。
示例1
输入:
5 1 2 3 4 5
输出:
1 2 2 3 2
C++(clang++ 11.0.1) 解法, 执行用时: 774ms, 内存消耗: 672K, 提交时间: 2022-12-06 16:15:28
#include<bits/stdc++.h> using namespace std; int s,i,j; void sum(int n){ j=0; s=0; if(n==1)s=1; else{ for(i=1;i*i<=n;i++){ if(n%i==0){ s++; } if(i*i==n)j=1; } s*=2; if(j)s-=1; } cout<<s<<endl; } int main(){ int q,n; cin>>q; while(q--){ cin>>n; sum(n); } return 0; }