神奇的四位数字

举报
念君思宁 发表于 2023/02/19 20:27:59 2023/02/19
【摘要】 神奇的四位数字

神奇的四位数字

对于数字想必大家一点都不陌生,从小学开始,大家就开始接触数字,咿呀学语时候,别别扭扭的读法,一直到现在.....

但是,数字千变万化,对于从事编程行业的我们而言:

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;
}

其实这类代码的书写,跟之前判断三位的水仙花数,四位的四叶玫瑰数、五位的五角星数、六位的六合数、七位的北斗七星数、八位的八仙数,等这类数字的代码大同小异,并没有什么区别,但是还是希望读者能够正确对个位,十位,百位,千位数字的提取,能够认真思考,在这里对个十百千位四个数字的提取显得尤为重要。

笔者的运行结果为:

由此便可以看出来,笔者完美对自己做出了交代。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。