Python和Java编程题(四)

1.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

分析:只需要对三位数的数字进行循环(100~999),判断三位数中个十百位上的数的立方和是否与三位数数值相等即可

Java实现

 1 public class FindDaffodilNumber {
 2     void DaffodiNumber() {
 3         int x,y,z,sum;
 4         for(int i=100;i<=999;i++) {
 5             x=i%10;
 6             y=(i%100-x)/10;
 7             z=(i-x-y*10)/100;
 8             sum = (int) (Math.pow(x, 3) + Math.pow(y, 3)+Math.pow(z, 3));
 9             if(sum==i) {
10                 System.out.print(i+",");//双引号括起来代表字符串,单引号括起来代表char类型
11             }
12         }
13     }
14     
15     public static void main(String args[]) {
16         FindDaffodilNumber D = new FindDaffodilNumber();
17         D.DaffodiNumber();
18     }
19 }

Python实现

 1 # -*- coding: utf-8 -*-
 2 
 3 '''
 4 找到水仙花数并输出,x、y、z分别代表个位、十位、百位上的数
 5 '''
 6 def FindDaffodilNumber():
 7     for i in range(100, 1000):
 8         x = i%10
 9         y = (i%100 - x)/10
10         z = (i - x - y*10)/100
11         if x**3 + y**3 + z**3 == i:
12             print(i)
13 
14 if __name__ == '__main__':
15     FindDaffodilNumber()

猜你喜欢

转载自www.cnblogs.com/xiang9286/p/9687965.html