說明:逐步找出目標數的因數,從 2 開始找到目標數的平方根,同樣的數只加一次。在 Python 中,第一次使用到 import。
Java 版
import java.util.Scanner;
import java.lang.Math;
public class D010 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int a = in.nextInt();
int r = 1;
for(int i = 2; i <= Math.sqrt(a); i++){
if(a % i == 0){
int s = a / i;
if(s == i)
r = r + i;
else
r = r + i + s;
}
}
if(r == a)
System.out.println("完全數");
else if(r > a)
System.out.println("盈數");
else
System.out.println("虧數");
}
}
}
Python 版 (2022.07)import math
while True:
try:
a = int(input())
r = 1
for i in range(2, int(math.sqrt(a)) + 1):
if a % i == 0:
s = a / i
if s == i:
r = r + i
else:
r = r + i + s
if r == a:
print('完全數')
elif r > a:
print('盈數')
else:
print('虧數')
except:
break
沒有留言:
張貼留言