千家信息网

C语言中怎么用简单粗暴的方法找水仙花数

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了C语言中怎么用简单粗暴的方法找水仙花数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中怎么用简单粗暴的方法找水仙花数文章都会有所收获,下面我们一起
千家信息网最后更新 2026年11月03日C语言中怎么用简单粗暴的方法找水仙花数

这篇文章主要介绍了C语言中怎么用简单粗暴的方法找水仙花数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中怎么用简单粗暴的方法找水仙花数文章都会有所收获,下面我们一起来看看吧。

什么是水仙花数:

指一个n位数,其各位数字的n次方之和确好等于该数本身

例如:

1 1^1=1;

153 3^3+5^3+1^3=153;

问题:求0~100000之间的水仙花数,并打印出来

看题目,找突破口:

  • 0~100000 我可以想到用循环来判断0~10000间的数字

  • 由栗子可知:我们需要求数字是几位

  • 要用到次方,则我们需要引用math函数库里的pow函数

  • 求和,依旧要使用循环

那么开始写代码,走一步思考一步:

#include #include  int main(){        int i = 0;        for (i = 0; i <= 100000; i++)        {                int n = 1;                // n 为位数                int z = i;                //经过while后i改变,i未变前赋值给z,代替原值i进行后面的计算                while (z / 10 != 0)          //这里刚开始直接用i进行运算  死循环                {                        n++;                        z=z / 10;                //用i运算的话,当i=10时 i=i/10 直接等于1 ,死循环,所以用变量z代替i                }                if (i == Sum(i, n))        //判断和是否等于原值                        printf("%d ",i);        }        return 0;}

看代码一定要看后面的注释,这里要注意的点:

用了n代表位数,求n时while循环会改变i值,不利于后面的计算,所以用z代替

设置函数Sum来计算和,函数代码如下:

int Sum(int x, int y)               //x接收i,y接收n{        int k = 0;        int num = 0;        int sum = 0;        for (k=0;k

完整代码如下:

#include #include  int Sum(int x, int y){        int k = 0;        int num = 0;        int sum = 0;        for (k=0;k

运行结果:

关于"C语言中怎么用简单粗暴的方法找水仙花数"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C语言中怎么用简单粗暴的方法找水仙花数"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

循环 数字 粗暴 仙花 方法 语言 代码 函数 位数 知识 内容 原值 水仙 水仙花 篇文章 运算 最低 之和 之间 代表 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京路客互联网科技有限公司 互联网下的科技发展 金诺互联网科技 互联网科技小贷 中国互联网科技发展 汇久创客互联网科技 成都仁贤领冠互联网科技有限公司 互联网巨头投资的硬核科技 银川新华互联网科技学校地址 互联网金融科技公司干啥的 来此购互联网科技有限公司 江阴互联网智能科技产品进口 互联网科技人工智能实验室 美国互联网科技实力 富国互联网金融科技混合基金 互联网科技年终奖 2021世界互联网领先科技成果发布 互联网科技机房 杭州融税互联网科技有限公司 黑龙江互联网科技公司 深圳市人人互联网科技有限公司 迪茉互联网科技 上海卓越科技 互联网 博兴的互联网电子科技公司 天速互联网络科技有限公司 互联网与医疗科技 众安科技工业互联网合作 风投北京互联网科技 神州科技互联网有限公司 萌小萌互联网科技河南有限公司
0