你想知道你的另一半吗?
Input
输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).
Output
对于每组测试数据,请输出一个代表输入数据N的另一半的编号.
Sample Input
3 2 10 20
Sample Output
1 8 22
#include <iostream> #include <cstring> using namespace std; #define N 500005 int a[N+5]; int main(){ int n,i,j; memset(a,0,sizeof(a)); for(i=1;i<N;i++) //模拟出所有可能的因子 for(j=2;j*i<N;j++) a[i*j]=a[i*j]+i; //j来充当满足乘法的tmp int T; cin>>T; while(T--){ cin>>n; cout<<a[n]<<endl; } return 0; }