当前位置: 首页 > news >正文

C语言——多种方式打印出1000之内的所有的“水仙花数”

        所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

方法一

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
int main() 
{int i, j, k, num;// 循环遍历所有的3位数for (i = 1; i <= 9; i++) {for (j = 0; j <= 9; j++) {for (k = 0; k <= 9; k++) {num = i * 100 + j * 10 + k;// 判断是否为水仙花数并打印if (num == i*i*i + j*j*j + k*k*k) {printf("%d\n", num);}}}}return 0;
}

        这个程序通过三个嵌套的循环遍历所有的3位数,并检查它们是否满足水仙花数的条件。如果一个数满足条件,它就会被打印出来。

方法二 

#include <stdio.h>int main() {int num, digit, sum;printf("水仙花数:\n");for (num = 100; num <= 999; num++) {sum = 0;int temp = num;while (temp != 0) {digit = temp % 10;sum += digit * digit * digit;temp /= 10;}if (sum == num) {printf("%d ", num);}}printf("\n");return 0;
}

方法三

#include <stdio.h>int main() {int i, j, k, n;printf("水仙花数:\n");for (n = 100; n <= 999; n++) {i = n / 100; // 百位数j = n / 10 % 10; // 十位数k = n % 10; // 个位数if (n == i * i * i + j * j * j + k * k * k) {printf("%d ", n);}}return 0;
}

方法四

#include <stdio.h>
#include <math.h>int main()
{int a, b, c, n;n = 100;printf("水仙花数:\n");while (n < 1000){a = n % 10; // 取个位数b = n / 10 % 10; // 取十位数c = n / 100; // 取百位数if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) // 判断是否为水仙花数{printf("%d ", n); // 输出水仙花数}n++;}return 0;
}

方法五(函数)

#include <stdio.h>int isWaterfallNumber(int num) 
{int digit1 = num / 100; // 获取百位数字int digit2 = (num % 100) / 10; // 获取十位数字int digit3 = num % 10; // 获取个位数字// 判断各位数字的立方和是否等于该数本身if(digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3 == num) {return 1; // 是水仙花数} else {return 0; // 不是水仙花数}
}void printWaterfallNumbers() 
{int num;printf("水仙花数:");for(num = 100; num <= 999; num++) {if(isWaterfallNumber(num)) {printf("%d ", num);}}
}int main() 
{printWaterfallNumbers();return 0;
}

http://www.lryc.cn/news/249280.html

相关文章:

  • .net 8 发布了,试下微软最近强推的MAUI
  • 【产品经理】AI在SaaS产品中的应用及挑战
  • Python实现一箭穿心
  • 机器人AGV小车避障传感器测距
  • Boost:进程间共享内存
  • Android Camera Surface显示相关问题总结
  • php通过curl方式发送接受xml数据
  • 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建
  • Python语言创建爬虫代理IP池详细步骤和代码示例
  • Oracle研学-介绍及安装
  • 建设银行新余市分行积极开展国债下乡宣传活动
  • 【javascript】如何判断一个对象属性是否存在
  • Linux-hid
  • Paraformer 语音识别原理
  • 用户注册这样玩,保你平安
  • QXDM Filter使用指南
  • 智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 3dsMax插件Datasmith Exporter安装使用方法
  • Rocketmq架构
  • 中兴亮相中国国际现代化铁路技术装备展览会 筑智铁路5G同行
  • 从零学算法15
  • 《Effective C++》条款27
  • 无图谱不AI之三元组数据保存Neo4j
  • Mybatisplus同时向两张表里插入数据[事务的一致性]
  • 天眼销:精准的企业名录
  • TypeError: Cannot read properties of null (reading ‘shapeFlag‘)
  • 视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型
  • 如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!
  • c++--类型的基础
  • Python with提前退出:坑与解决方案