题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1295
input | output |
---|---|
1 |
1 |
3 |
2 |
代码如下(找规律):
#include <cstdio> #define LL __int64 //int main() //{ // int n; // for(int i = 1; i <= 32; i++) // { // LL ans1 = 1; // LL ans2 = 1; // LL ans3 = 1; // LL ans4 = 1; // for(int j = 1; j <= i; j++) // { // ans2*=2; // ans3*=3; // ans4*=4; // } // int cnt = 0; // LL ans = ans1+ans2+ans3+ans4; // while(ans) // { // if(ans%10 == 0) // { // cnt++; // ans/=10; // } // else // { // break; // } // } // printf("%d:: ans:%d\n",i,cnt); // } // return 0; //} int main() { int n; int a[30]= {1,1,2,0,2,1,2,0,1,1,2,0,1,1,2,0,1,1,2,0}; while(~scanf("%d",&n)) { printf("%d\n",a[(n-1)%20]); } return 0; // while(~scanf("%d",&n)) // { // if(n%4 == 0) // { // printf("0\n"); // } // else if((n%4==1 &&n%5==0) || n%4==3) // { // printf("2\n"); // } // else // { // printf("1\n"); // } // } return 0; }
#include <stdio.h> #include <iostream> #include <algorithm> using namespace std; long long mod=100000; long long quickmulti(long long m,long long n)//二分快速幂 { long long ans=1; long long i; while(n) { if(n&1) ans=(m*ans)%mod; m=(m*m)%mod; n>>=1; } return ans; } int main() { long long n; while(scanf("%lld",&n)!=EOF) { long long ans=1; ans+=quickmulti(2,n); ans%=mod; ans+=quickmulti(3,n); ans%=mod; ans+=quickmulti(4,n); ans%=mod; long long tem=ans; long long tt=0; while(tem%10==0) { tem/=10; tt++; } printf("%lld\n",tt); } return 0; }
URAL 1295. Crazy Notions(数学啊 & 找规律)
原文:http://blog.csdn.net/u012860063/article/details/44114499