神奇的四位数字
对于数字想必大家一点都不陌生,从小学开始,大家就开始接触数字,咿呀学语时候,别别扭扭的读法,一直到现在.....
但是,数字千变万化,对于从事编程行业的我们而言:
1,三位的水仙花数共有4个:153,370,371,407;
2、四位的四叶玫瑰数共有3个:1634,8208,9474;
3、五位的五角星数共有3个:54748,92727,93084;
4、六位的六合数只有1个:548834;
5、七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
6、八位的八仙数共有3个:24678050,24678051,88593477
是一组非常重要的数字,我们不仅要知道,而且还得能书写出正确的代码来运转他们,但是对于初学的小白而言,一切都需要自己认真琢磨思考
话不多说:直奔主题;
最近笔者写代码有点上头:就连做梦,都是梦到在电脑上敲打代码;
但是一个奇奇怪怪的梦:梦到了神奇的四位数满足一种规律,对于一个神奇的四位数ABCD,它的千位百位数字之和,等于十位数,即A+B=C,且百位十位数字之和,等于个位数,即B+C=D;
列如:2358就是一个这样的数字;2+3=5,3=+5=8;所以2358就是一个这样的神奇的数字
下面请欣赏笔者代码
//四位数ABCD,它的千位百位数字之和,等于十位数,即A + B = C, //且百位十位数字之和,等于个位数,即B + C = D #include <stdio.h> int main() { int i = 1000; int g, s, b, q; for (i = 1000; i <= 9999; i++) { q = i / 1000; b = i / 100 % 10; s = i / 10 % 10; g = i % 10; if (q + b == s && b + s == g) printf("%d ", i); } return 0; }
其实这类代码的书写,跟之前判断三位的水仙花数,四位的四叶玫瑰数、五位的五角星数、六位的六合数、七位的北斗七星数、八位的八仙数,等这类数字的代码大同小异,并没有什么区别,但是还是希望读者能够正确对个位,十位,百位,千位数字的提取,能够认真思考,在这里对个十百千位四个数字的提取显得尤为重要。
笔者的运行结果为:
由此便可以看出来,笔者完美对自己做出了交代。