目录

  • 1 题目
  • 2 分析
  • 3 实现
  • 4 运行结果

1 题目

求 0—70—70—7 所能组成的奇数个数

2 分析

该问题是一个排列组合问题,假设这个数为 sumsumsum,sum=a1a2a3a4a5a6a7a8sum=a_1a_2a_3a_4a_5a_6a_7a_8sum=a1​a2​a3​a4​a5​a6​a7​a8​,表示这个数的某位的数值,当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字。如果最后一位数为偶数,则这个数一定为偶数。a1−a8a_1-a_8a1​−a8​ 可以取 0−70-70−7 这个八个数字,首位数字不为 000 。从该数为一位数到该数为8位数开始统计奇数的个数:

  1. 当只有一位数时也就是该数的最后一位,奇数个数为: 444
  2. 当该数为两位数时,奇数个数为: 4∗7=284*7=284∗7=28
  3. 当该数为三位数时,奇数个数为:4∗8∗7=2244*8*7=2244∗8∗7=224
  4. 当该数为八位数时,奇数个数为:4∗8∗8∗8∗8∗8∗8∗74*8*8*8*8*8*8*74∗8∗8∗8∗8∗8∗8∗7 (依次为最后一位到第一位)

3 实现

#include <stdio.h>int main()
{long sum = 4, s = 4;//sum的初始值为4表示,只有一位数字组成的奇数个数为4个int j;for (j = 2; j <= 8; j++) {    printf("%d位数为奇数的个数%ld\n", j-1, s);if (j <= 2) {s *= 7;} else {s *= 8;}sum += s;    }printf("%d位数为奇数的个数%ld\n", j-1, s);printf("奇数的总个数为:%ld\n", sum);return 0;
}

4 运行结果

1位数为奇数的个数4
2位数为奇数的个数28
3位数为奇数的个数224
4位数为奇数的个数1792
5位数为奇数的个数14336
6位数为奇数的个数114688
7位数为奇数的个数917504
8位数为奇数的个数7340032
奇数的总个数为:8388608

C语言经典例83-求0—7所能组成的奇数个数相关推荐

  1. 求0到7组成奇数的个数c语言,c语言经典算法—求0—7 所能组成的奇数个数

    题目:求0-7 所能组成的奇数个数. 算法思想: 这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数值, 当一个数的最后一位为奇数时, ...

  2. 求0—7所能组成的奇数个数。

    错误思路: 在77777777范围内去计算奇数的个数,这个范围内包括8,9. 解法一:用8个for循环来拼数字,此种做法需要顾忌最高位不为零的情 解法二(推荐): 该题认为数字可以重复使用,这个问题其 ...

  3. C语言经典例98-将字符转为大写字母并写入文件

    目录 1 题目 2 分析 3 实现 1 题目 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存. 输入的字符串以!结束. 2 分析 写入 ...

  4. C语言经典例19-完数

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 因子:假如整 ...

  5. C语言经典例26-利用递归方法求阶乘

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归方法求5!5!5!. 2 分析 我们知道0和1的阶乘都是1,用递归计算阶乘时,要递减的方式递归,到0或1的时候返回递归.该递归程序从 ...

  6. C语言经典例79-字符串排序

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 字符串排序,输出三个字符串(长度小于20),并将其按照ASCII码顺序排序. 2 分析 首先限制三个字符串的输入,本例利用fgets函数,该 ...

  7. c语言典例之求n个整数最大连续子序列和

    C语言求最大连续子序列和 问题描述 输入:具有n个数的序列x 输出:输入序列x的任何连续子序列中的最大和 解题思路:列出所有子序列,并求出它们的和,找出其中的最大者 #include<stdio ...

  8. C语言经典例100-将学生成绩写入文件

    目录 1 题目 2 分析 3 实现 1 题目 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件&qu ...

  9. C语言经典例97-输入字符写入文件

    目录 1 题目 2 分析 3 实现 1 题目 从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止. 2 分析 关于文件操作,请看我的这篇文章 C语言-文件操作总结 . 3 实现 #incl ...

最新文章

  1. 手把手教你EMD算法原理与Python实现(更新)
  2. mysql 4.0字符集,mysql4.0升级到mysql5(4.1),解决字符集问题
  3. 利用哈夫曼树编码与译码
  4. java 中文乱码过滤器_JAVA中文乱码过滤器(用java过滤器解决中文乱码)V0422 整理版...
  5. 如何查看android虚拟机的目录及文件
  6. 看MASTER围棋有感
  7. oracle processes 的大小,Oracle中sessions和processes的大小关系(10g和11g不同)
  8. 非常好用的模糊pid温度控制算法_高度集成高速多点温度PID控制方案
  9. TTL和CMOS解析
  10. SREng用法简要说明(如何获得日志/删启动项目/服务/驱动/BHO等)
  11. 究竟云计算就业前景好不好 零基础如何学云计算
  12. Python中随机漫步的实现
  13. 前端基础 HTML 第九章 使用框架结构 ----暑假学习第五天
  14. apmserv php7,apmserv
  15. TB6612使用说明,使用方法,引脚图,实物图。
  16. 计算机协会玩游戏策划案,计算机协会的社团策划书
  17. 计算机组成原理徐福培,徐福培计算机组成原理(第2章).ppt
  18. linux下c/c++读取txt文件,多行文件,且每行都用逗号隔开
  19. Debian各个版本下载地址
  20. html在背景图里加白框,毕生所用最好的四个图片类APP

热门文章

  1. [译]15个关于Chrome的开发必备小技巧
  2. leetcode 144. Binary Tree Preorder Traversal
  3. Intellij IDEA 创建Web项目并在Tomcat中部署运行
  4. Using mongoDB's Profiler analyze the performance of database operations
  5. 将用户输入内容中的尖括号、引号等进行转义
  6. 服务器控件GridView的排序问题
  7. 汇编程序开发环境搭配
  8. 陈鑫136201010502
  9. EL表达式中null和empty的区别
  10. 每日站立会议4-20(张硕)