hoj1299
Problem : 1299 ( Diophantus of Alexandria ) Judge Status : Accepted
RunId : 2814216 Language : C++ Author : huwenbiao
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
RunId : 2814216 Language : C++ Author : huwenbiao
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
//*========================*Head File*========================*\\
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*----------------------*Global Variable*----------------------*/
bool isprime[31625];
int prime[15825];
int T,n,pos,ans,cnt,_max,tmp;
//*=======================*Main Program*=======================*//
using namespace std;
int main(){
//freopen("input","r",stdin);
cnt=0;
_max=31623;
prime[cnt++]=2;
for(int i=3;i<=_max;i+=2){
if(!isprime[i]){
prime[cnt++]=i;
for(int j=3*i;j<=_max;j+=i<<1)
isprime[j]=true;
}
}
scanf("%d",&T);
for(int i=1;i<=T;i++){
scanf("%d",&n);
pos=0;
ans=1;
while(pos<cnt&&n>1){
tmp=0;
while(n%prime[pos]==0){
tmp+=2;
n/=prime[pos];
}
ans*=(tmp+1);
pos++;
}
if(n>1){//现在n是素数
ans*=3;
}
ans=(ans+1)>>1;
printf("Scenario #%d:\n%d\n\n",i,ans);
}
}