从零开始学c语言第六天

今天我们继续讲算法题:

水仙花数:

如果一个三位数,它的各个位数上的数字的立方相加以后,等于这个三位数,就称这个数叫水仙花数。

现在,输出所有水仙花数

我们先来分析一下:

我们需要先遍历每一个三位数

然后取得这个数字的各个位数上的数字

将他们的立方相加

然后判断是否等于这个三位数

如果等于就输出这个三位数

如果不等于就不输出然后继续循环判断

接下来我们看代码:


水仙花数代码



水仙花数运行图

正确答案是:153,370,371,407

怎么样,你答对了吗?

我们来解析一下代码:

定义我们就不说了

for循环用来遍历每一位三位数

我们先取得百位数

因为我们定义的类型是int型,所以只要把这个数缩小一百倍,他就只剩下百位上的数字了,比如989这个数,缩小一百倍是9.89,又因为是int型,所以他会变成9,这样就取到了我们的百位数,然后我们将它存到c里面

取得十位数

先将这个数缩小十倍,然后减去原本是百位的数就取得了十位数

具体操作如下:

先将这个数除以十,然后减去这个数这时的十位数,这时的十位数只需要将刚刚取得的百位数乘以十就取得了,然后减去这个数,我们就取得了这个十位数

取得个位数

拿这个三位数减去百位数和十位数就行了

然后再写一个if语句判断他是否满足水仙花数条件,然后就结束了


古典问题:

有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

这个是今天的问题,大家自己思考思考,然后去自己动手敲敲试试哦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,571评论 0 9
  • 任意三位数平方的速算方法,如:126×126。 速算方法:将个位数与个位数相乘,得6×6=36,将6写在最终答案的...
    y倒计时阅读 8,574评论 0 1
  • [Java编程题90道] 1.完成数组int[] a = {100,40, 60, 87, 34, 11, 56,...
    Mr_不靠谱_先森阅读 10,796评论 0 3
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,536评论 0 41
  • Javascript的this用法 this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的...
    紫陌兰溪阅读 1,183评论 0 0