~初めに~
私は今までプログラムを全くやったことがなくpythonの練習としてProject Eluerを解いています。なのでコードが長くなったりまとまっていないところが多いです。
この記事は初めてpythonをやる人や興味があるけどわからない人のためのこんな感じだよっていう記事ですプログラムできる人が読んだら「なんだこれ」みたいな所も多々あると思いますがその人は「こうしたらどうや」みたいなことを言ってもらえると私がとてもとても喜びます
ブログも初めてなのでブログの書き方で意見がありましたらそれもご指摘お願いします。私が泣いて喜びます
Euler 1問目
10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる.同じようにして, 1000 未満の 3 か 5 の倍数になっている数字の合計を求めよ.
[http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%201]
まず私は頭をフル回転させてどう解くか考えました
- 1000未満3の倍数と5の倍数と15の倍数をそれぞれ出す
- 出した倍数を使い
【3の倍数 + 5の倍数 - 15の倍数】の計算
この計算をうまくできれば答えはでるなと思いプログラムを書き始めました
プログラム
このコードは私がほぼ全部考えたコードです
AA = 0
BB = 0
CC = 0
for A in range(1000):
A *= 3
A < 1000
if A < 1000:
AA += A
print(AA)
for B in range(1000):
B *= 5
B < 1000
if B < 1000:
BB += B
print(B)
for C in range(1000):
C *= 15
C < 1000
if C < 1000:
CC += C
print(CC)
print(AA + BB - CC)
これから全くプログラミンがわからない人のための私のできる限りの説明をはじめはす。いらねぇーよって人は飛ばしてください!!
まず、AA,BB,CCは箱みたいな物でここに計算したものを詰めていきます
for A in range(1000):は
for 繰り返しのループと呼ばれるもの
A in はAというものをみたいな感じで
range(1000) は0~999回繰り返す文です
なのでfor A in range(1000):を日本語っぽく言うと
「Aという物を1000回繰り返す」って感じです
A *= 3 は3の倍数を出すためのプログラムでAに毎回3をかける文です
if A < 1000: はもしAが1000未満の時に実行しますって文です
AA += A で用意しておいてAAに3の倍数のAを毎回足していきますという文
print() は実行したときに結果を見せてくれるコードです
今回のコードはこんな感じです
とてもとても簡単なコードで作りました!!が長いです
0から始めたのでこれが私の精一杯でした
まとめ
今回私は自分で考えて答えがでた時はものすごい達成感でした!
なので皆さんも自分で考えていろんなものを作ってください!
あと、わからないところが出てきたらわかる人にすぐ聞いた方がいいですよ!
調べても私は知りたいところがよくわからなかったりしましたなので周りの少しわかる人に聞いたらわかりやすく自分の聞きたい所をちゃんと解説してくれました。
なので恥ずかしがらず周りの人やネットの人々に聞いてみるのがいいとおもいます!!
ぜひ、みんなで頑張りましょう!!