若自然数n使得竖式加法n+(n+1)+(n+2)不产生进位现象,便称n为“跃进数”.例如12是“跃进数”,因为12+13+14做竖式加法不产生进位现象;而13不是“跃进数”.那么不超过1000的“跃进
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 20:24:18
若自然数n使得竖式加法n+(n+1)+(n+2)不产生进位现象,便称n为“跃进数”.例如12是“跃进数”,因为12+13+14做竖式加法不产生进位现象;而13不是“跃进数”.那么不超过1000的“跃进
若自然数n使得竖式加法n+(n+1)+(n+2)不产生进位现象,便称n为“跃进数”.例如12是“跃进数”,因为12+13+14做竖式加法不产生进位现象;而13不是“跃进数”.那么不超过1000的“跃进数”共有 个.
若自然数n使得竖式加法n+(n+1)+(n+2)不产生进位现象,便称n为“跃进数”.例如12是“跃进数”,因为12+13+14做竖式加法不产生进位现象;而13不是“跃进数”.那么不超过1000的“跃进
刚写了个小程序,不知道对不对,算出来是47个
1
2
10
11
12
20
21
22
30
31
32
100
101
102
110
111
112
120
121
122
130
131
132
200
201
202
210
211
212
220
221
222
230
231
232
300
301
302
310
311
312
320
321
322
330
331
332
下面是我写的小程序 python程序
#!/usr/bin/env python
count = 0
for i in range(1,1000):
j = i + 1
k = i + 2
stri = str(i)
strj = str(j)
strk = str(k)
if len(strj) < len(strk):
strj = '0' + strj
if len(stri) < len(strk):
stri = '0' + stri
flag = 1
for m in range(len(strk)):
sum = int(stri[m:m+1]) + int(strj[m:m+1]) + int(strk[m:m+1])
if sum >= 10:
flag = 0
break
if flag:
count += 1
print i
print count
其实用简单的方法也很容易得到结果,因为n + (n+1)+(n+2)不能进位,所以n若是个位不能大于3,是百位和十位不能大于4,
个位的选择有 0,1,2
十位的选择有 0,1,2,3
百位的选择有 1,2,3
一位数的自然数有 1,2 ----- 2个
二位数的自然数有 3×3 = 9个
三位数的自然数有 3×4×3 = 36个
+ -----
一共有 47个
47