找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
求大神解答!!!感谢!

51hei图片_20210521210520.png (113.17 KB, 下载次数: 89)

要求如下

要求如下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:762260 发表于 2021-5-22 09:51 | 只看该作者
部分已解决!!请问程序运行初值位153(由程序内置)怎么设置?
回复

使用道具 举报

板凳
ID:824490 发表于 2021-5-22 10:38 | 只看该作者
弱弱地问一下:
1、什么“水仙花数”?
2、“水仙花数”与学号、姓名都有哪些关系?
3、这个APP要用单片处理吗?
回复

使用道具 举报

地板
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. }

复制代码



回复

使用道具 举报

5#
ID:541654 发表于 2021-5-23 14:29 | 只看该作者
这是依次取模的问题吧,比较简单的数学计算
回复

使用道具 举报

6#
ID:332444 发表于 2021-5-23 15:32 | 只看该作者
int a=153,aa=0,aaa=0;while(a)aaa=a%10,aa+=aaa*aaa*aaa,a/=10;std::cout << aa << std::endl;
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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