码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-03-11 06:44:05      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:c语言 找出1到4000中 数字的各位数之和能被4整除的数有多少个

找出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个这样的特殊数字。

本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1749704

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

标签:c语言 找出1到4000中 数字的各位数之和能被4整除的数有多少个

原文地址:http://yaoyaolx.blog.51cto.com/10732111/1749704

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!