【例3.5】位數問題
阿新 • • 發佈:2017-10-15
cstring 問題 所有 內存 == style 一個數 () str
時間限制: 1000 ms 內存限制: 65536 KB
【例3.5】位數問題
鏈接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1313
時間限制: 1000 ms 內存限制: 65536 KB
【題目描述】
在所有的N位數中,有多少個數中有偶數個數字3?由於結果可能很大,你只需要輸出這個答案對12345取余的值。
【輸入】
讀入一個數N。
【輸出】
輸出有多少個數中有偶數個數字3。
【輸入樣例】
2
【輸出樣例】
73
題解:i位數偶數個3:i-1位數偶數3前面加0,1,2,4……九個數,奇數個3前面加3,同理得奇數情況,到最後一次去掉0的情況
#include<iostream> #include<cstdio> #include<cstring> using namespace std; long long f[5001][2]; int main() { int n; cin>>n; f[1][0]=9; f[1][1]=1; int k=9; for(int i=2;i<=n;i++) { if(i==n)k--; f[i][0]=(f[i-1][0]*k+f[i-1][1])%12345; f[i][1]=(f[i-1][1]*k+f[i-1][0])%12345; } cout<<f[n][0]<<endl; }
【例3.5】位數問題