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整除的数有多少个?的主要内容,如果未能解决你的问题,请参考以下文章

编程 求水仙花数

用C语言求一个4以内正整数的各位数字之和

C语言编程:寻找特殊整数

求十到1000之间能被三或五或八整除的数之和的c语言程序

c语言编程题 找出所有的水仙花数,水仙花数是指一个3位数

c编程任意输入一个整数,要求计算并输出此整数的各位数字之和。如:231的各位之和是2+3+1。