整数の計算
次の計算をしよう
29のように1の位が9の2桁の整数を1の位と10の位に分け、それらの積と和の合計を計算しよう。
10から99までの整数につき同じ計算を行い、(1)と同じ結果になる数字を探そう。
次の計算をしよう
整数に対して各桁の数字を合計した値を返す関数を作成し、$17^3$を摘要し、その合計が元の17に戻っていることを確認しよう。
17と同じように2桁の数字で3乗した結果の各桁の合計がもとの数字に戻るものを求めよう。
4以上9以下のnに対し、2桁の数字をn乗した結果の各桁の合計がもとの数字に戻るものを求めよう。例:$17^3=4913\quad4+9+1+3=17$。
次の値が7で割り切れるかを確認しよう
$111111$
$444^333+3333^4444$
$1^6 + 2^5 + 3^4 + 4^3 + 5^2 + 6^1 + 7^0$
3桁の正の整数(num)について、次の計算をしよう。
numの1の位をaとして、num からaを切り捨て、さらにaを20倍した数値をnumから差し引いた値(b)、およびbを10で割った値(c)を返す関数を作成しよう。
(例:546の場合 546から6(a)と6×20を差し引いて420(b)となります。さらに420を10で割ってc=42となります。)
3桁の整数について元の数(num)、b,cの3つの数を7で割った余りを比較しよう。
3桁の正の整数(num)について、次の計算をしよう。
numを100の位(a)と10の位と1の位を2桁の整数と見た数値を(b)に分割し、aを2倍して、bに足しこんだ値が7の倍数であれば元の数は7の倍数である。
(例:546の場合、5×2=10を46に足した値が56になります。)
3桁の整数について元の数と計算結果を7で割った余りを比較しよう。
7の倍数について次の計算をしよう。
3桁の整数について100の位を9倍、10の位を3倍した数値と1の位の和を計算し、計算結果と元の数を7で割った余りを比較しよう。
2桁以上の整数について、n桁目の数字にそれぞれ3のn-1乗を掛け、それらを合計します。その合計が7で割り切れれば元の数字は7の倍数で、合計を7で割った余りが元の数字の余りと一致します。このような計算を行う関数mod_7_3を作成し、次の数字について確認しよう。
44333+3333444444333+33334444のような数字の場合、mod_7_3関数を適用しても、桁数が多すぎて7の倍数か判断できません。そこで、計算結果が1000未満になるまで複数回してみよう。
リスト(l=[1234,12345,123456,234567,865432])にある4桁から6桁の数字を上の1から1~3桁(a)と下の3桁(b)に分け、元の数字とa-bを7で割った余りを計算し、結果を比較しよう。
- l=[1234,12345,123456,234567,865432]
- for i in l:
- a=i%(10**3)
- b=i//(10**3)
- print(i,a,b,i%7,(a-b)%7)
1234 234 1 2 2
12345 345 12 4 4
123456 456 123 4 4
234567 567 234 4 4
865432 432 865 1 1