如題 見主文
# P1
見輸出入說明
# Input
每次單筆輸入 總共一行
給予一非負整數 n (n 沒給上限)
# Output
輸出一行
輸出 n 之所有因數
Solution
n = int(input()) | |
for i in range(1, n + 1): | |
if not n % i: | |
print(i, end=' ') |
# P2
有一種數稱之為 Armstrong 數,其定義為各位數字的三方相加之和等於其原本的數
E.g. 153=13+33+53=1+27+125
# Input
No input
# Output
輸出所有三位數 Armstrong 數
Solution
for i in range(100, 1000): | |
sum = 0 | |
n = i | |
sum += (n % 10)**3 | |
n //= 10 | |
sum += (n % 10)**3 | |
n //= 10 | |
sum += n**3 | |
if sum == i: | |
print(sum, end=' ') |
# P3
見輸出入說明
# Input
每次單筆輸入
輸入只有一行
輸入 n 保證為數字串
# Output
輸出一行
判斷輸入是否回文
- 若為真:輸出 [n] is a palindrome.
- 若為假:輸出 [n] is not a palindrome.
Solution
s = input() | |
flag = 1 | |
for i in range(len(s)): | |
if s[i] != s[len(s) - i - 1]: | |
print(s, end=" is not a palindrome.") | |
flag = 0 | |
break | |
if flag: | |
print(s, end=" is a palindrome.") |
# P4
見輸出入說明
# Input
每次單筆輸入
輸入一行字串 (包含空格字元)(筆者在作答時忽略這點,直接使用 cin,故這題應該是噴掉了,正解應該使用 getline)
並保證內容皆為合法字元
# Output
輸出字串中各個英文字母的數量
僅輸出字串中有的英文字母即可 沒有出現即不用輸出
大小寫均計算為同一字母
Solution
s = input() | |
ct = [0 for i in range(26)] | |
for i in range(len(s)): | |
if ord(s[i]) >= 65 and ord(s[i]) <= 90: | |
ct[ord(s[i]) - 65] += 1 | |
if ord(s[i]) >= 97 and ord(s[i]) <= 122: | |
ct[ord(s[i]) - 97] += 1 | |
for i in range(26): | |
if ct[i]: | |
print(chr(i + 65), ' or ', chr(i + 97), ' : ', ct[i], '個') |