#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int mod=2008;
int quick_mod(int n,int m)
{
int res=1,num=n;
while(m)
{
if(m&1)
res*=num;
m/=2;
num*=num;
res%=mod;
num%=mod;
}
return res;
}
int solve(int n)
{
int ans=quick_mod(2,n),i,res;
for(i=res=2;i*i<n;i++)
{
if(n%i==0)
{
res+=solve(i)+solve(n/i);
res%=mod;
}
}
if(i*i==n)
{
res+=solve(i);
res%=mod;
}
return ((ans-res)%mod+mod)%mod;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==1)
printf("2\n");
else
printf("%d\n",solve(n));
}
return 0;
}
hdu 2197
最新推荐文章于 2021-03-15 09:42:22 发布