打印1到100之间的所有迪亚里什数程序

2025年1月8日 | 阅读 4 分钟

说明

在此程序中,我们需要显示1到100之间的所有迪亚里什数。

迪亚里什数

如果一个数的各位数字的幂次方之和等于它本身,则该数为迪亚里什数。

例如,175 是一个 Disarium 数,如下所示

公式

11 + 72 + 53  = 1 + 49 + 125 = 175

其他迪亚里什数的例子有89、135、518等。

要判断一个给定的数是否为迪亚里什数,计算其各位数字的幂次方之和。如果该和等于原始数字,则该给定的数字是迪亚里什数。

算法

  1. calculateLength() 函数计算数字的位数。
    1. 使用 while 循环检查数字是否等于 0。
    2. 将该数字除以 10,并将变量 length 递增 1。
    3. 返回 length。
  2. sumOfDigits() 函数计算各位数字的幂次方之和。
    1. 调用 calculateLength() 函数获取给定数字的位数,并将值存储在 len 变量中。
    2. 使用 while 循环通过将 num 除以 10 来重复计算余数 rem。
    3. 计算 rem 的幂次方(取决于其位置),即 remlen,并将计算出的值存储在变量 sum 中。
  3. 要显示1到100之间的所有迪亚里什数,
    1. 从1到100开始循环,然后为1到100的每个值调用 sumOfDigits() 方法,并将返回值存储在 result 变量中。
    2. 如果 result 的值等于 number。这意味着给定的数字是迪亚里什数。因此,显示它。

解决方案

Python

输出

Disarium numbers between 1 and 100 are
1 2 3 4 5 6 7 8 9 89 

C

输出

Disarium numbers between 1 and 100 are
1 2 3 4 5 6 7 8 9 89

JAVA

输出

Disarium numbers between 1 and 100 are
1 2 3 4 5 6 7 8 9 89 

C#

输出

Disarium numbers between 1 and 100 are
1 2 3 4 5 6 7 8 9 89 

PHP

输出

Disarium numbers between 1 and 100 are
1 2 3 4 5 6 7 8 9 89
 
下一主题#