• Source
    1. #include<bits/stdc++.h>
    2. #define MAX 1000000
    3.  
    4. using namespace std;
    5.  
    6. int ans[MAX+5];
    7.  
    8. int main()
    9. {
    10. int i,n;
    11.  
    12. ans[0] = 1;
    13.  
    14. for(i=1; i<=MAX; i++)
    15. {
    16. ans[i] = ans[(int)floor(i-sqrt(i))];
    17.  
    18. ans[i]+=ans[(int)floor(log(i))];
    19.  
    20. ans[i]+=ans[(int)floor(i*sin(i)*sin(i))];
    21.  
    22. ans[i]%=MAX;
    23. }
    24.  
    25. while(scanf("%d",&n)==1)
    26. {
    27. if(n==-1)
    28. break;
    29.  
    30. printf("%d\n",ans[n]);
    31. }
    32.  
    33. return 0;
    34. }