Advertisement
Guest User

NREcou

a guest
Apr 22nd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include<fstream>
  2. #define MOD 1000000017
  3. using namespace std;
  4. ifstream  fin("nrecou.in");
  5. ofstream fout("nrecou.out");
  6. long long n;
  7. long long Power(long long b)
  8. {
  9.     long long p=1, x=10;
  10.     while(b)
  11.     {
  12.         if(b%2)
  13.             p=(p*x)%MOD;
  14.         x=(x*x)%MOD;
  15.         b=b/2;
  16.     }
  17.     return (p*9)%MOD;
  18. }
  19. long long Solutie(long long n)
  20. {
  21.     long long p, v1[20000], v2[20000], s=0;
  22.     int i, j, nv1, nv2;
  23.     nv1=1;
  24.     v1[1]=1;
  25.     nv2=0;
  26.     for(p=2;p*p<=n;p++)
  27.         if(n%p==0)
  28.         {
  29.             nv1++;
  30.             v1[nv1]=p;
  31.             nv2++;
  32.             v2[nv2]=n/p;
  33.         }
  34.     if(v1[nv1]==v2[nv2])
  35.         nv2--;
  36.     for(i=nv2;i>=1;i--)
  37.     {
  38.         nv1++;
  39.         v1[nv1]=v2[i];
  40.     }
  41.     v2[1]=9;
  42.     s=v2[1];
  43.     for(i=2;i<=nv1;i++)
  44.     {
  45.         v2[i]=Power(v1[i]-1);
  46.         for(j=1;j<=i-1;j++)
  47.             if(v1[i]%v1[j]==0)
  48.                 v2[i]=(v2[i]+MOD-v2[j])%MOD;
  49.         s+=v2[i];
  50.         s%=MOD;
  51.     }
  52.     return s;
  53. }
  54. int main()
  55. {
  56.     fin>>n;
  57.     fout<<Solutie(n);
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement