好きをブチ抜く

「好き」をブチ抜く

本、映画、科学、哲学、心理、すごい人の考え方など。あらゆる情報を編集したい。

Pythonで数学パズル入門 組み合わせの再帰生成「両替する方法」

記事の内容 初歩的なプログラムの知識だけで解ける数学パズルの問題を紹介します。プログラミング入門者の方にとっては、数学パズルはアルゴリズム的思考の訓練になります。楽しみながら慣れていきましょう。プログラム入門者の方、python入門者のかたにおす…

2つの自然数が互いに素である確率にπが!?【プログラムで実験して確かめる】python

記事の内容 今回の記事では、数学的にもプログラミング的にもとても興味深いテーマを紹介します。数学youtuberの鈴木貫太郎さんが紹介していた話です。www.youtube.com それは、2つの自然数が互いに素である確率は、である、というものです。もう少し説明し…

Pythonで平方根を求める 2分探索の利用【Pythonで数学パズル】

記事の内容 今回は、pythonに慣れるために簡単な数学パズルのようなものに挑戦します。そのテーマは、「平方根を求める」です。どのようにコードを欠けば、効率よくある数の平方根を求めることができるのか、いろいろと工夫してみましょう。python初心者の方…

【PyTorch使ってみた】深層学習入門実践 手書き数字画像データMNIST

記事の内容 今回は、深層学習(ディープラーニング)を手軽に実装するためのライブラリである「pytorch」を紹介します。 実際に、深層学習入門の定番である、手書き文字認識にチャレンジしてみます。・深層学習の基礎はなんとなくわかっている ・pytorchを使っ…

Pythonで数学パズル 最適な関係の組み合わせ 最大独立集合問題

記事の内容 今回の記事では、基礎的な知識だけで解ける数学パズルを紹介します。プログラミング、python初心者にとってはいい練習になるはずです。それに、アルゴリズムで問題を解くということのいい実践になります。 専門的には、最大独立集合問題と呼ばれ…

Pythonで数学パズル 天秤で異なるコインを見つけよ 分割統治法

記事の内容 アルゴリズムの練習として有名なものに、「天秤を使って偽造硬貨を見つける」というパズルがあります。今回の記事では、この問題をpythonで解いてみます。基礎的な文法さえわかれば挑戦できるパズルなので、ぜひ初心者の方もチャレンジしてみてく…

Pythonで数学パズル 8クイーン問題を解く forとcontinue

記事の内容 今回の記事は、プログラミングの問題としてはそこそこ有名な「Nクイーン問題」をPythonで解いてみます。「問題解決のpythonプログラミング 数学パズルで鍛えるアルゴリズム思考法」という本からの引用になります。本書は、pythonを用いて基礎的な…

Pythonで数学パズル タプルのリストとソートでパズルを解く

記事の内容 「問題解決のPythonプログラミング 数学パズルで鍛えるアルゴリズム的思考法」という本を紹介します。 この本に載っているパズルを解きながら、楽しくアルゴリズムを学べる記事になります。 Python初心者の方にも、プログラミング初心者の方にも…

Pythonで数学パズル リストとタプルのちょっとした応用

記事の内容今回の記事では、「問題解決のPythonプログラミング 数学パズルで鍛えるアルゴリズム的思考」という本で紹介されている簡単な数学パズルを解きたいと思う。難易度も優しく、基礎的なコードを知っていれば楽しむことができる。 プログラミング初心…

Python フィボナッチ数 数値の各桁の和

この本から出題 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (9件) を見る Q11フィボナッチ数列 フィボナッチ数列のうち…

行列をpythonで

なぜ行列を使いたいのか? 行列を使うとたくさんの連立方程式を一つの式で表せる。行列表記がとても便利。 リストとベクトルは違う! a0 = [1,2,3] + [1,2,3] >>[1, 2, 3, 1, 2, 3] ベクトルはnumpyで import numpy as np x1 = np.array([1,2,3]) print(x1) …

リスト探索をpythonで

線形探索 配列から要素を探索するアルゴリズム。 左端から順に、目的数と比較していく。 def liner_search(aList, val): for x in aList: if x == val: return True return False 2分探索 整列された配列から要素を探索するアルゴリズム。 配列の中心から目…

基本ソートをpythonで

バブルソート def bubble_sort(array): n = len(array) for i in range(n-1): for j in range(n-1,i,-1): #開始、終了、ステップ ''' iが左端。つまり最小値。左端であるiをソート済みにし、 開始n-1つまり右端に戻る。 ''' if array[j] < array[j-1]: tmp =…