找出1到4000中,数字的各位数之和能被4整除的数,如:745:7+4+5=16,16可以被4整除;28:2+8=10,10不能被4整除;745就是这样的特殊数字,而28不是,求:这样的数字共有多少个?

解:

(1)对于4000,4+0+0+0=4,显然4000是满足条件的数字;

(2)对于1到3999,我们把每个数字看成4位[][][][]的形式,第一位[]取0到3,后3位取[0][0][0]到[9][9][9],用sum表示4位数字的和:

2.1:若后3位为一个奇数,则第1位取1或3,必定可以使sum能被4整除,如sum=15,sum+1=16;sum=17,sum+3=20即可满足条件;

2.2:若后3位之和为一个偶数,不妨用sum1表示后3位数字的和,则分两种情况讨论,令sum2=sum1/2,如果sum2仍然为偶数,则sum1能被4整除,第1位置0,即可满足条件;如果sum2为奇数,则sum1不能被4整除,第1位置2,sum=sum1+2即可满足条件;

因此后3位取[0][0][0]到[9][9][9]时,总能在第1位找到一个数,使sum能被4整除,由于没有数字0,故1到3999共有1000-1=999个数字满足条件;

综上,一共有999+1=1000个这样的特殊数字。

转载于:https://blog.51cto.com/yaoyaolx/1749704

c语言:找出1到4000中,数字的各位数之和能被4整除的数有多少个?相关推荐

  1. c语言找出4个整数中的最大值和最小值,如何用C语言的四个if语句从四个整数找到最大值和最小值...

    满意答案 lwchfqz 2018.10.24 采纳率:46%    等级:6 已帮助:157人 首先,你的程序由于定义了变量a,又定义了数组a,而此时数组名a不是变量,与前面定义的变量a重复,只要把 ...

  2. C语言找出数组中最小的数和它的下标

    C语言找出数组中最小的数和它的下标,然后把它和数组中最前面的元素对换位置 #include <stdio.h> int main() {int A[10]={3,7,5,9,10,2,1, ...

  3. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

  4. 已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者。

    已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者. 答案: int max(int a,int b) { return (a+b+abs(a-b))/2; } ...

  5. 找出两个字符串中最大子字符串,如abractyeyt,dgdsaeactyey的最大子串为actyet

    // 最大子字符串.cpp : 定义控制台应用程序的入口点. // //找出两个字符串中最大子字符串,如"abractyeyt","dgdsaeactyey"的 ...

  6. 找出两个字符串中最长的相同子字符串

    //找出两个字符串中最长的相同子字符串public class Stringdemo {public static void main(String[] args) {String str1 = ne ...

  7. 高效的找出两个List中的不同元素

    转自同名博文,未知真正出处,望作者见谅 如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素 ...

  8. Excel 中如何找出两列数据中不重复的记录

    现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录.现在和大家分享一下这个方法. 我们先用一个简单的例子看一下.现在有两列数据,可以是分别在不同的数据单(sh ...

  9. C语言找出两个字符串唯一不同的一个字符(附完整源码)

    C语言找出两个字符串唯一不同的一个字符 C语言找出两个字符串唯一不同的一个字符完整源码(定义,实现,main函数测试) C语言找出两个字符串唯一不同的一个字符完整源码(定义,实现,main函数测试) ...

最新文章

  1. Java IO: System.in, System.out, System.err
  2. 413 Request Entity Too Large 的解决方法
  3. 「CodePlus 2017 11 月赛」可做题
  4. 使用ML.Net和C#进行机器学习
  5. Linux 和 Android 系统性能分析
  6. 数据显示:中国的程序员是世界上最牛的程序员
  7. WEB知识: 同源策略介绍以及规避方法
  8. c语言的条件运算符,C语言条件运算符
  9. null id in entry (don‘t flush the Session after an exception occurs)解决思路
  10. uniapp微信小程序生成带个人二维码的海报
  11. SUM分析函数应用缺陷及解决办法
  12. 一个简单的CD唱片管理程序
  13. swt 做界面时部分要点
  14. linux中24点游戏下载,怀旧24点官网版-怀旧24点游戏下载v2.0.0-Linux公社
  15. 12海里、24海里、200海里的意义及名称
  16. 后端服务器常用软件:nginx
  17. FPGA 的功耗概念与低功耗设计研究
  18. Android解包打包system img的方法
  19. 如何快速接入直播服务 七牛云企业直播解决方案来了
  20. python类的简单定义

热门文章

  1. ACM-ICPC如何起步
  2. 新站长更要努力做好SEO相关的优化
  3. PHP ftp_mkdir 函数
  4. 两台电脑之间用网线之间传文件
  5. RAC 实例 迁移到 单实例 -- 使用导出导入
  6. instanceof与typeof 运算符
  7. 部分 VII. Array
  8. 体验cygwin纪实
  9. Java Socket多线程异步通信
  10. jQuery 技术揭秘