标题: Labview如何判断三位数是否为水仙花数?求帮助 [打印本页]

作者: 923k    时间: 2021-5-21 21:06
标题: Labview如何判断三位数是否为水仙花数?求帮助
求大神解答!!!感谢!

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

要求如下

要求如下

作者: 923k    时间: 2021-5-22 09:51
部分已解决!!请问程序运行初值位153(由程序内置)怎么设置?
作者: 名字不是重点    时间: 2021-5-22 10:38
弱弱地问一下:
1、什么“水仙花数”?
2、“水仙花数”与学号、姓名都有哪些关系?
3、这个APP要用单片处理吗?
作者: angmall    时间: 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. }

复制代码




作者: loveinheart    时间: 2021-5-23 14:29
这是依次取模的问题吧,比较简单的数学计算
作者: xianfajushi    时间: 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;




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1