C语言经典练习题:水仙花数
2024-10-20 20:32:09
废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如153=1*1*1+5*5*5+3*3*3。
好,开始解题:首先,题中已经说了水仙花数是一个三位数,也就是说我们需要定义一个循环在100到1000中一个个来验证它是不是水仙花数;
然后就是核心代码了,凭空想的话很难找到思路,至少对我这个菜鸡来说是这样,那怎么办呢?给题上的例子用起来啊,那问题又来了,怎么把153和等号右边的玩意儿联系起来。153,有1有5还有3,右边也是有1有5还有3;取模运算符吧3%10=3 5%10=5 1%10=1,你就说对不对就完事儿了,这里的=是数学意义上的=啊,不是赋值符号,我不想挨怼。人家个位数的取模运算一次就完事,那十位数百位数上的咋搞,先除以十再搞!
为了小伙伴更容易理解,我在十位和百位的运算上加了括号,实际编写中不加也可以
#include<stdio.h>
int main()
{
int ge,shi,bai;//定义个位、十位、百位
for(int i=;i<;i++)
{
//个位数计算方法
ge=i%;
//十位数计算方法
shi=(i/)%;
//百位数计算方法
bai=(i//)%; //判断是否为水仙花数
if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)
{
//输出水仙花数
printf("水仙花数:%d\n",i);
} } return ;
}
结果:
水仙花数:153
水仙花数:370
水仙花数:371
水仙花数:407
最新文章
- Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
- Android微信分享图片大于32k进行压缩
- Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
- 初识Less(2015年05月23日)
- FBReader移植日记 第一天
- linux命令之mount
- 获取新浪天气api显示天气情况(转)
- 高速决心linux上oracle安装垃圾问题
- vim配置文件(本人喜欢的风格)
- bzoj 4129 Haruna’s Breakfast 树上莫队
- WIN10 企业版 LTSC 激活
- shell实现自动部署两台tomcat项目Ⅱ
- UML介绍--用例图
- 处理jquery的ajax请求session过期跳转到登录页面
- MYSQL的存储函数
- 转:WCAT 压力工具介绍
- Android Studio引用自定义的framework.jar包
- pvr.ccz 与 png 格式 互转的解决方案
- redis在.net架构中的应用(1)--利用servicestack连接redis
- Paint的ColorFilter
热门文章
- cookie存在哪里???
- 用Gitolite搭建服务器上的Git
- 自制一个可编辑QueryString的类URLModifier
- C++走向远洋——34(友元函数,成员函数和一般函数的区别)
- 达拉草201771010105《面向对象程序设计(java)》第六周学习总结
- python fake_useragent模块 user-agent的获取
- 微信小程序支付到第三方商户账号
- idea 报Сannot Run Git runnerw.exe: AttachConsole failed with error 6
- [译]HTML&;CSS Lesson7: 设置背景和渐变色
- DIV的失去焦点(blur)实现