1. 程式人生 > >【例3.5】位數問題

【例3.5】位數問題

cstring 問題 所有 內存 == style 一個數 () str

【例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】位數問題