在所有的N位数中,有多少个数中有偶数个数字3(说明,0是偶数)?
【输入格式】 读入一个数N
【输出格式】 输出有多少个数中有偶数个数字3。
【输入样例】 2
【输出样例】 73(由于 位数 比较大的情况下,导致输出数据可能越界,因此,输出个数 % 12345 的结果)
【数据规模】 1<=N<=1000
分析
任何位的数中,根据3的个数不同,分为两类
或者偶数位的3,或者包含 奇数位的3
1位数中(共10个数)
0,1,2,3,4,5,6,7,8,9,
包含0个3的数有 9个
包含1个3的数有1个
2位数中(90个 10~99)
包含偶数个3的数有 0个3+2个=89+11=72
包含奇数个3的数有 1个3= 9*1
在所有的2位数字,包含0个3的数有72个,包含2个3的数有1个,共73个
【算法分析】
前i位有偶数个3,必须满足以下条件:
前i-1位有偶数个3, 则 第i位不能取3
前i-1位有奇数个3,则第i位必须取3
可以用f[i][0]表示前i位取偶数个3有几种情况,
f[i][1]表示前i位取奇数个3有几种情况。
则递推公式可以表示为:
   f[i][0] =f[i-1][0]*9+f[i-1][1]; (9:除3 外的每一个数字)
f[i][1] =f[i-1][0] + f[i-1][1]*9; (9:除3 外的每一个数字)
边界条件: f[1][1]=1;f[1][0]=9;
说明:如果i 是最高位, 由于最高位不能是数字0 ,则将9改为8;

#include<iostream>
using namespace std;
int main(){int f[1001][2];int n,x;cin>>n;f[1][1]=1;f[1][0]=9;for(int i=2;i<=n;i++){x=9;if(i==n)x--;f[i][0]=(f[i-1][1]+f[i-1][0]*x)%12345;f[i][1]=(f[i-1][0]+f[i-1][0]*x)%12345;}cout<<f[n][0];return 0;
}

在所有的N位数中,有多少个数中有偶数个数字3(说明,0是偶数)?相关推荐

  1. 校招9.28笔试题:1-N 的幂集中集合个数 去除含相邻数字的集合

    /*2018.9.28AQY笔试:1-N 的幂集中集合个数 去除含相邻数字的集合比如1,2,3 可选空,1,2,3,13五种 */ #include <iostream> #include ...

  2. 将字符数组中的字符转换为整型变量的数字 将字符串转换为数字

    首先要保证字符数组或字符串中的数据是数字,这样才能转换. 检测字符数组或字符串中是否为数字的方法: 遍历字符数组或字符串,检测是否有非数字字符,若有则无法转换,若没有则可以进行转换. 将字符数组或字符 ...

  3. oracle mysql 常用语句(查询表中某字段有几种类型,及每种类型有多少个数、插入多行、查询前几行)

    亲测有效 1.(1)查询表中某字段有几种类型,及每种类型有多少个数 select DISTINCT name user_name,count(*) num from patient GROUP BY ...

  4. 请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍。

    请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍. #include<bits/stdc++.h> using namespace std; int main ...

  5. 在1至2019中,有多少个数的数位中包含数字9?

    在1至2019中,有多少个数的数位中包含数字9?注意,有的数中的数位中包含多个9,这个数只算一次.例如,1999这个数包含数字9,在计算只是算一个数. 答:在1至2019中,有544个数的数位中包含数 ...

  6. 1至2019中,有多少个数的数位中包含数字9

    问题描述 在1至2019中,有多少个数的数位中包含数字9? 注意,有的数中的数位中包含多个9,这个数只算一次.例如,1999这个数包含数字9,在计算只是算一个数. 答案提交 这是一道结果填空的题,你只 ...

  7. leetcode421. 数组中两个数的最大异或值(贪心算法)

    给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n . 进阶:你可以在 O(n) 的时间解决这个问题吗? 示例 1: 输 ...

  8. 判断文本的行数c语言,软件工程统计文件中字符串个数,单词个数,词频,行数

    一.前言 在之前写过一个词频统计的C语言课设,别人说你一个大三的怎么写C语言课程,我只想说我是先学习VB,VB是我编程语言的开始,然后接触到C语言及C++:再后来我是学习C++,然后反过来学习C语言, ...

  9. 有多少个数既是 4 的整数倍,又是 6 的整数倍。

    第十二届蓝桥杯第二次模拟赛 /* 本题总分:5 分 [问题描述] 请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍. [答案提交] 这是一道结果填空的题,你只需要算出结果 ...

最新文章

  1. 为什么 MySQL 的自增主键不单调也不连续
  2. 使用VMware Infrastructure Client中的VMware Server 2.0.x的管理
  3. python安装软件 No module named setuptools
  4. python可以干嘛知乎-一行Python代码能做什么?
  5. matlab plot title 包含变量的图片标题
  6. ProEssentials实时三维图表控件
  7. java 连接 sftp失败,与apache vfs的SFTP连接失败,但使用WinSCP成功
  8. wxWidgets:wxLayoutAlgorithm类用法
  9. NYOJ--517--最小公倍数(大数打表)
  10. 软件:推荐五款超级好用的电脑小众软件,值得收藏!
  11. POJ 3981(字符串替换)
  12. hibernate配置详情2(Dept.hbm.xml)
  13. 分布式系统开发注意点_分布式系统开发注意事项
  14. python virtualenv nginx_Ubuntu下搭建Nginx+supervisor+pypy+virtualenv
  15. 【CF734F】Anton and School(构造)
  16. 视觉SLAM算法框架解析(3) SVO
  17. 《指针的编程艺术(第二版)》一2.3 三颗星星:表示三把钥匙
  18. 软件著作权申报中60页标准代码文档
  19. 如何用GIS做城市购房选址分析
  20. 拟一维喷管流动的数值解——全亚声速等熵喷管流动的非守恒型CFD解法(MacCormack方法)

热门文章

  1. 不好好做图的NSC系列(七):跟着cell学习用散点图展示韦恩图的效果
  2. 极米科技上市:发明专利曾被宣告无效,钟波的“5年颠覆”豪言落空
  3. 【计算机科学】【2017.05】基于视觉的自主导航与深度学习解释
  4. 卡迪夫城市大学计算机专业硕士,2020年卡迪夫城市大学研究生(硕士)学制是几年...
  5. 暗黑破坏神:不朽 PC/安卓/iOS版配置一览
  6. 笔记本怎么查看hdmi版本_一文带你了解笔记本的外部接口:VGA、HDMI、DP、USB
  7. [原创]无聊,没事做
  8. 在云服务器上搭建自己的mc服务器
  9. php redis限流,【PHP】用Redis实现限流的常见方案
  10. Python实现基于Fasttext的商品评论数据分类