zoukankan      html  css  js  c++  java
  • C语言练习题:水仙花数

      废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如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,你就说对不对就完事儿了,这里的=是数学意义上的=啊,不是赋值符号,我不想挨怼。人家个位数的取模运算一次就完事,那十位数百位数上的咋搞,先除以十再搞!

      为了小伙伴更容易理解,我在十位和百位的运算上加了括号,实际编写中不加也可以

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int ge,shi,bai;//定义个位、十位、百位 
     5     for(int i=100;i<1000;i++)
     6     {
     7         //个位数计算方法 
     8         ge=i%10;
     9         //十位数计算方法 
    10         shi=(i/10)%10;
    11         //百位数计算方法 
    12         bai=(i/10/10)%10;
    13         
    14         //判断是否为水仙花数 
    15         if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)
    16         {
    17             //输出水仙花数 
    18             printf("水仙花数:%d
    ",i);
    19         }
    20         
    21     } 
    22     
    23     
    24     return 0;
    25 }
      结果:
        水仙花数:153
        水仙花数:370
        水仙花数:371
        水仙花数:407
  • 相关阅读:
    \r,\n,\r\n的区别
    \r,\n,\r\n的区别
    C# TextBox 换行 滚动到最后一行
    C# TextBox 换行 滚动到最后一行
    C# Textbox 始终保持最后最后一行
    C# Textbox 始终保持最后最后一行
    踩坑之mongodb配置文件修改
    踩坑之mongodb配置文件修改
    开启mongodb 的web
    开启mongodb 的web
  • 原文地址:https://www.cnblogs.com/xpybsh/p/12554454.html
Copyright © 2011-2022 走看看