题解位数问题

Posted kcn999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解位数问题相关的知识,希望对你有一定的参考价值。

题目描述

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

 

输入输出格式

输入格式

        一个数N(N<=1000)。

 

输出格式

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

 

输入输出样例

输入样例

2

 

输出样例

73

 

题解

        记录当前有偶数个3和有奇数个3的情况数即可。

技术图片
#include <iostream>

using namespace std;

int n;
int a[1005], b[1005];

int main()
{
    cin >> n;
    a[1] = 9;
    b[1] = 1;
    for(register int i = 2; i < n; ++i)
    {
        a[i] = (a[i - 1] * 9 + b[i - 1]) % 12345;
        b[i] = (b[i - 1] * 9 + a[i - 1]) % 12345;
    }
    if(n > 1) a[n] = (a[n - 1] * 8 + b[n - 1]) % 12345;
    cout << a[n];
    return 0;
}
参考程序

 

以上是关于题解位数问题的主要内容,如果未能解决你的问题,请参考以下文章

精选力扣500题 第67题 LeetCode 4. 寻找两个正序数组的中位数c++/java详细题解

精选力扣500题 第68题 48. 旋转图像 寻找两个正序数组的中位数c++/java详细题解

JavaScript - 代码片段,Snippets,Gist

FJUT 奇怪的数列(线性选择算法)题解

P1627 [CQOI2009]中位数 题解

机试练习08:poj3784——动态堆求解中位数