Advertisement
a53

grad

a53
Aug 16th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstring>
  3. using namespace std;
  4. char S[300];
  5. int sum,prod,L,aux,pa,d,k,e,i,j,C;
  6. int P[30];
  7.  
  8. int main()
  9. {
  10. FILE *f=fopen("grad.in","r");
  11. fgets(S, 300, f);
  12. fclose(f);
  13. S[strlen(S)+1]=0;
  14. S[strlen(S)]=' ';
  15. L=strlen(S);
  16. for(i=0;S[i]==' ';++i);
  17. k=1;
  18. C=S[i];
  19. pa=S[i]-'a'+1;
  20. aux=pa;
  21. d=2;
  22. while(aux!=1)
  23. {
  24. e=0;
  25. while(aux%d==0)
  26. ++e,aux/=d;
  27. if(e)
  28. P[d]+=(e*k);
  29. ++d;
  30. }
  31. for(i++;i<L;++i)
  32. {
  33. if(S[i]>='a'&&S[i]<='z')
  34. {
  35. ++k;
  36. pa=S[i]-'a'+1;
  37. aux=pa;
  38. d=2;
  39. while(aux!=1)
  40. {
  41. e=0;
  42. while(aux %d==0)
  43. ++e,aux/=d;
  44. if(e)
  45. P[d]+=(e*k);
  46. ++d;
  47. }
  48. }
  49. else
  50. if((S[i]<'a'||S[i]>'z')&&S[i-1]>='a'&&S[i-1]<='z')
  51. {
  52. int prod=1;
  53. for(j=2;j<=23;++j)
  54. prod*=(P[j]+1),P[j]=0,prod%=k;
  55. sum+=prod;
  56. k=0;
  57. }
  58. else
  59. k=0;
  60. }
  61. FILE *g=fopen("grad.out","w");
  62. fprintf(g,"%d",sum);
  63. fclose(g);
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement