题目链接: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