c语言:找出1到4000中,数字的各位数之和能被4整除的数有多少个?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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整除的数有多少个?的主要内容,如果未能解决你的问题,请参考以下文章