hdu 1299

来源:互联网 发布:手机淘宝分类查找 编辑:程序博客网 时间:2024/04/27 20:59

OJ

#include <iostream>#include <cstdio>#include <string>using namespace std;#define N 100000int prime[N];bool is[N];void creat(){memset(is,0,sizeof(is));for(int i=4;i<N;i+=2) is[i]= 1;    int k = 0;prime[k++] = 2;for(int i=3;i<N;i+=2){if(!is[i]){prime[k++] = i;for(int j = i+i;j<N;j+=i)is[j] = 1;}}}int solve(int n){int ans = 1;for(int i=0;prime[i]*prime[i]<=n;i++){if(n%prime[i]==0){int k = 0;while(n%prime[i]==0){k++;n/=prime[i];}ans *= (2*k+1);}}if(n>1) ans *= 3;return ans;}void init(){int test;scanf("%d",&test);int flag = 0;    int n;for(int i=1;i<=test;i++){//if(flag) puts("");flag = 1;printf("Scenario #%d:\n",i);scanf("%d",&n);printf("%d\n\n",(solve(n)+1)/2);}return ;}int main(){creat();init();return 0;}


原创粉丝点击