找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2790|回复: 5
打印 上一主题 下一主题
收起左侧

Labview如何判断三位数是否为水仙花数?求帮助

[复制链接]
楼主
ID:155507 发表于 2021-5-23 09:21 | 显示全部楼层
如果一个数字等于其自身数字的总和乘以给定数字中数字位数的幂,则称为阿姆斯特朗 (Armstrong)或水仙花数 (Narcissistic) 数字。

例如,数字153是阿姆斯特朗数字,因为:1^3 + 5^3 + 3^3 = 153

类似地,1634也是阿姆斯特朗数,即 1^4 + 6^4 + 3^4 + 4^4 = 1634

数字1到9也是阿姆斯特朗数字。

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>

  4. int main()
  5. {
  6.          int number, original, rem, sum=0, digit=0;
  7.          clrscr();
  8.          printf("Enter number: ");
  9.          scanf("%d", &number);
  10.        
  11.          original = number;
  12.        
  13.          /* Counting number of digit in a given number 计算给定数字中的位数 */
  14.          while(number!=0)
  15.          {
  16.                   digit++;
  17.                   number = number/10;
  18.          }
  19.          
  20.          /* After execution above loop number becomes 0 执行后,循环号变为0
  21.             So copying original number to variable number 因此将原始变量复制到可变 变量 */
  22.             
  23.          number = original;
  24.          /* Finding sum */
  25.          while(number != 0)
  26.          {
  27.                   rem = number%10;
  28.                   sum = sum + pow(rem, digit);
  29.                   number = number/10;
  30.          }
  31.          /* Making decision */
  32.          if(sum == original)
  33.          {
  34.                   printf("%d is ARMSTRONG.", original);
  35.          }
  36.          else
  37.          {
  38.                   printf("%d is NOT ARMSTRONG.", original);
  39.          }
  40.          getch();
  41.          return(0);
  42. }

复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表