汇聚的一些OD机试题目(2题)
## 1.题目描述
输出 1到n之间 的与 7 有关数字的个数。
一个数与7有关是指这个数是 7 的倍数,或者是包含 7 的数字(如 17 ,27 ,37 ... 70 ,71 ,72 ,73...)
示例1:
```
输入:20
输出:3
说明:输入20,1到20之间有关的数字包括7,14,17共3个
```
## 2. Solution
```python
while True:
try:
count = 0
n = int(input())
# 注意这个range的范围
for i in range(1, n+1):
if '7' in str(i) or i % 7 == 0:
count += 1
print(count)
except:
break
```
## 1. 题目描述
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
输入n,请输出n以内(含n)完全数的个数。
示例1:
```
输入:1000
输出:3
```
## 2. Solution
```python
while True:
try:
n = int(input())
L = []
for i in range(1, n):
p = 0
for y in range(1, i):
if i % y == 0:
p += y
if i == p:
L.append(p)
print(len(L))
except:
break
```
输出 1到n之间 的与 7 有关数字的个数。
一个数与7有关是指这个数是 7 的倍数,或者是包含 7 的数字(如 17 ,27 ,37 ... 70 ,71 ,72 ,73...)
示例1:
```
输入:20
输出:3
说明:输入20,1到20之间有关的数字包括7,14,17共3个
```
## 2. Solution
```python
while True:
try:
count = 0
n = int(input())
# 注意这个range的范围
for i in range(1, n+1):
if '7' in str(i) or i % 7 == 0:
count += 1
print(count)
except:
break
```
## 1. 题目描述
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
输入n,请输出n以内(含n)完全数的个数。
示例1:
```
输入:1000
输出:3
```
## 2. Solution
```python
while True:
try:
n = int(input())
L = []
for i in range(1, n):
p = 0
for y in range(1, i):
if i % y == 0:
p += y
if i == p:
L.append(p)
print(len(L))
except:
break
```
全部评论
相关推荐