偶数个3
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
在所有的N位数中,有多少个数中有偶数个数字3
-
输入
-
第一行为一个整数T,代表有T组数据。(T<10000)
接下来T行,每行一个正整数N。(1<=N<=1000)
输出
- 每行输出一个整数,即方案数(由于结果可能很大,你只需要输出这个答案mod 12345的值。)。 样例输入
-
1 2
样例输出
-
73
//一定要假设,加上前导为0的情况,最后再减去
//分析:在i-1位数上加上0~9的数字,进行组合
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[3];
ll b[3];
int main()
{
int n;
while(cin>>n)
{
a[0]=9;
b[0]=1;
for(int i=2; i<=n; i++)
{
a[(i+1)%2]=a[i%2]*9+b[i%2];
b[(i+1)%2]=b[i%2]*9+a[i%2];
}
printf("%lld\n",a[(n+1)%2]-a[n%2]);
}
return 0;
}