描述
“物不知数”出自《孙子算经》。题目如下:
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”
什么意思呢?说是有一些物品,不知道有多少个,3个3个数的话,还多出2个,5个5个数则多出3个,7个7个数也会多出2个。
输入格式
输入一个正整数n(n <=1000)
输出格式
从小到大输出不超过 n 且满足条件的解,每行输出一个数字
解析:
- 输入一个正整数,int(),input()
- 获取从1到n的整数序列,range(1, n)
- 遍历从1到n的整数(不包括n)for i in … :
- 三三数之剩二可用取模运算 %,n % 3 == 2
- 判定条件用if … :
- 判断相等用 ==
- 输出满足条件的解
- 多个解时由小到大输出,则从小向大去找,遇到满足条件的就输出
常见问题:
- 缩进错误,循环和分支语句后面的语句块须缩进
n = int(input())
n <= 1000
for i in range(1,n):
if n % 3 == 2 and n % 5 == 3 and n % 7 == 2:
print(n)
- 缺少输入语句
```python
for i in range(1000):
if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
else:print(i)
continue
3. 模运算错误,计算余娄积做模运算,不需要整除
```python
n=int(input ())
for a in range (1,n+1):
if a//3%==2 and a//5%==3 and a//7%==2 :
print(a)
运算对象或输出错,循环中应该判定 i 取模的结果,输出应该是整数 i ,不是字符串’i’
n = int(input()) for i in range(1,n): if n % 3 == 2: if n % 5 == 3: if n % 7 ==2: if n <= 1000: print('i')
表达式错误
- break拼写和位置错误
- 多种错误
- 循环结构错误,for 变量 in 可迭代对象
- 整数不可以转列表