トップ «前の日記(2010-04-23(Fri)) 最新 次の日記(2010-05-04(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2010-05-02(Sun) はれ

どっかから

二桁の自然数 x と、 x % 10 * 10 + x / 10 の和(例: 54+45=99)は、常に11の倍数になるらしい。

#!/usr/bin/env python
def ant(x):
	return x // 10 + x % 10 * 10
 
for x in range(10,100):
	y = ant(x)
	z = x + y
	a = z // 11
	b = z % 11
	print ("%d + %2d = %3d, %3d / 11 = %2d, %3d %% 11 = %d"
 		% (x, y, z, z, a, z, b, ))

実行結果は、

10 +  1 =  11,  11 / 11 =  1,  11 % 11 = 0
11 + 11 =  22,  22 / 11 =  2,  22 % 11 = 0
12 + 21 =  33,  33 / 11 =  3,  33 % 11 = 0
//ry
97 + 79 = 176, 176 / 11 = 16, 176 % 11 = 0
98 + 89 = 187, 187 / 11 = 17, 187 % 11 = 0
99 + 99 = 198, 198 / 11 = 18, 198 % 11 = 0

%% にちょっと嵌る。%が一つしかないと、

Traceback (most recent call last):
  File "num.py", line 11, in <module>
    % (x, y, z, z, a, z, b, ))
ValueError: unsupported format character ' ' (0x20) at index 40

python-3.1.2 でも同じに動いた。

多すぎ

さっきの例では、24+42と42+24を別々に数えていた。

#!/usr/bin/env python
def ant(x):
	return x // 10 + x % 10 * 10
 
for x in range(10,100):
	y = ant(x)
	z = x + y
	a = z // 11
	b = z % 11
	if x < y: continue
	else: print ("%d + %2d = %3d, %3d / 11 = %2d, %3d %% 11 = %d"
 		% (x, y, z, z, a, z, b, ))

前の90通りが54通りになった。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。