1313:【例3.5】位数问题

简介: 1313:【例3.5】位数问题

1313:【例3.5】位数问题

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

在所有的N位数中,有多少个数中有偶数个数字3。由于结果可能很大,你只需要输出这个答案对12345取余的值。

【输入】

读入一个数N(N≤1000)。

【输出】

输出有多少个数中有偶数个数字3。

【输入样例】

2

【输出样例】

73

【来源】

No

1. #include<iostream>
2. #include<stdio.h>
3. using namespace std;
4. int f[1002][2]={0};
5. int main()
6. {
7.  int n,x,i;
8.  scanf("%d",&n);
9.  f[1][0]=9;//f[i][0]前i位取偶数个3有几种情况
10.   f[1][1]=1;//f[i][1]前i位取奇数个3有几种情况
11.   for(i=2;i<=n;i++){
12.     x=9;//低于最高位取偶数个3有9种情况 
13.     if(i==n) x=8;//最高位取偶数个3有8种情况 
14.     f[i][0]=(f[i-1][0]*x+f[i-1][1])%12345;//i是偶数的情况+i为奇数的情况 
15.     f[i][1]=(f[i-1][1]*x+f[i-1][0])%12345;//i是偶数的情况+i为奇数的情况 
16.   }
17.   printf("%d",f[n][0]);
18.   return 0;
19. }

 

相关文章
|
2月前
leetcode 2520 统计能整除数字的位数
leetcode 2520 统计能整除数字的位数
10 0
|
2月前
|
C#
C#中小数保留固定位数
C#中小数保留固定位数
79 1
|
2月前
[leetcode 数位计算]2520. 统计能整除数字的位数
[leetcode 数位计算]2520. 统计能整除数字的位数
|
2月前
打印2进制位数的奇数位和偶数位
打印2进制位数的奇数位和偶数位
|
7月前
统计两个整数所对应的二进制数中的不同位数的个数
统计两个整数所对应的二进制数中的不同位数的个数
26 0
|
C++
C++ 输出特定位数小数
C++ 输出特定位数小数
102 0
判断数字位数
判断数字位数
46 0
求整数的位数及各位数字之和
求整数的位数及各位数字之和
85 0
35.数值的整数次方
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方
39 0
35.数值的整数次方
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
133 0
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。