SlideShare a Scribd company logo
プログラマ脳を鍛える会 vol.2α
2016/08/04 勉強会
タイムスケジュール
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
・問題紹介 [1min]
・問題を解く [10min]
・ヒント1,ヒント2
・問題を解く [10min]
・解答者発表 1名 [5min]
・効率よく実⾏するについて考える [3min]
・ヒント3
・解答開⽰&解説 [5min]
数列の四則演算
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
数字を⽂字列として表し、各桁の間に四則演算の演算⼦を⼊れることを考えま
す。
(演算⼦は⼊れても⼊れなくても構いません。)
1234 → 1 + 2 * 3 - 4 = 3
9876 → 9 * 87 + 6 = 789
でき上がった式を計算した結果、元の数の桁を逆から並べた数字と同じになるも
のを求めてください。
(式の計算は数学の順序で⾏います。※乗除が先、加減は後)
100〜999の場合、以下の3つがあります。
351 → 3 * 51 = 153
621 → 6 * 21 = 126
886 → 8 * 86 = 688
今回は1000〜9999の間から求めてください。 開始!
ヒント1: 検証するプログラムを作る
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
1000 = 1 + 0 + 0 + 0 = 1
1000 = 1 - 0 + 0 + 0 = 1
1000 = 1 * 0 + 0 + 0 = 0
1000 = 1 / 0 + 0 + 0 = ?
1000 = 10 + 0 + 0 = 10
1000 = 10 + 0 - 0 = 10
…
1001 = …
1002 = …
ヒント1: オペランド⼀覧は
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
+と-と*と/
ヒント1: オペランド⼀覧は
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
と 空⽩
ヒント2: eval関数を使う
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
eval(“1+2”)
-> 3
式の⽂字列を評価してくれる関数
evalを上⼿く使って逆順になるかどうかを判定を
しよう
問題を解く : 数列の四則演算
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
数字を⽂字列として表し、各桁の間に四則演算の演算⼦を⼊れることを考えま
す。
(演算⼦は⼊れても⼊れなくても構いません。)
1234 → 1 + 2 * 3 - 4 = 3
9876 → 9 * 87 + 6 = 789
でき上がった式を計算した結果、元の数の桁を逆から並べた数字と同じになるも
のを求めてください。
(式の計算は数学の順序で⾏います。※乗除が先、加減は後)
100〜999の場合、以下の3つがあります。
351 → 3 * 51 = 153
621 → 6 * 21 = 126
886 → 8 * 86 = 688
今回は1000〜9999の間から求めてください。
解答者 発表
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
効率よくする⽅法について考える
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
数字を⽂字列として表し、各桁の間に四則演算の演算⼦を⼊れることを考えま
す。
(演算⼦は⼊れても⼊れなくても構いません。)
1234 → 1 + 2 * 3 - 4 = 3
9876 → 9 * 87 + 6 = 789
でき上がった式を計算した結果、元の数の桁を逆から並べた数字と同じになるも
のを求めてください。
(式の計算は数学の順序で⾏います。※乗除が先、加減は後)
100〜999の場合、以下の3つがあります。
351 → 3 * 51 = 153
621 → 6 * 21 = 126
886 → 8 * 86 = 688
今回は1000〜9999の間から求めてください。
ヒント3: 効率よくする⽅法について考える
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
数字を⽂字列として表し、各桁の間に四則演算の演算⼦を⼊れることを考えます。
(演算⼦は⼊れても⼊れなくても構いません。)
1234 → 1 + 2 * 3 - 4 = 3
9876 → 9 * 87 + 6 = 789
でき上がった式を計算した結果、元の数の桁を逆から並べた数字と同じになるものを求
めてください。
(式の計算は数学の順序で⾏います。※乗除が先、加減は後)
100〜999の場合、以下の3つがあります。
351 → 3 * 51 = 153
621 → 6 * 21 = 126
886 → 8 * 86 = 688
今回は1000〜9999の間から求めてください。
=> 答えを求めるのに四則は必要か?
ヒント3: 効率よくする⽅法について考える
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
=> 答えを求めるのに四則は必要か?
4桁の数値で逆から並べたものになるものを探して
法則を⾒つけてみましょう
ex)
1234 -> 1 + 2 * 3 * 4 = 25
5678 -> 5 + 6 + 7 * 8 = 67
9123 -> 912 * 3 = 2736
(逆から並べたものに成りえそうな数値の並びと演算⼦はなんだろ
う…?)
(この演算⼦を使わないと絶対に逆から並べたものにならないよ…?)
ヒント3: 効率よくする⽅法について考える
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
5931 -> 5*9*31 = 1395
問題引⽤: https://codeiq.jp/magazine/2014/01/4799/
解答・解説
Rubyのソースコードは以下
https://gist.github.com/harhogefoo/
66aa2d4b8221a01a1f9ca741b5cb9601
https://gist.github.com/harhogefoo/
42a3db321cb72d7800b73c67447b64bd
プログラマ脳を鍛える会 vol.2α
2016/08/04 勉強会
ご清聴ありがとうございました

More Related Content

PDF
Trianguler
PDF
池袋数学勉強会 対馬龍司 線形代数学講義 3章章末問題解説
PDF
abc031
PDF
AtCoder Beginner Contest 017 解説
PDF
Divisor
PDF
K2PC Div1 E 暗号化
PDF
Rustで始める競技プログラミング
PPTX
世界のナベアツの数理
Trianguler
池袋数学勉強会 対馬龍司 線形代数学講義 3章章末問題解説
abc031
AtCoder Beginner Contest 017 解説
Divisor
K2PC Div1 E 暗号化
Rustで始める競技プログラミング
世界のナベアツの数理

What's hot (20)

ODP
情報オリンピック夏合宿発表
PDF
AtCoder Regular Contest 030 解説
PDF
AtCoder Regular Contest 026 解説
PDF
高認数学 第1回 式の計算
PDF
Divisor
PDF
How to study stat
PDF
ゼロから作るDeepLearning 3.3~3.6章 輪読
PDF
Hairetu2
PDF
AtCoder Beginner Contest 025 解説
PDF
AtCoder Regular Contest 046
PDF
Permutation
PDF
AtCoder Regular Contest 036 解説
PDF
Sanpo
PDF
AtCoder Regular Contest 019 解説
PDF
AtCoder Regular Contest 021 解説
PPTX
Meeting7
PDF
Four op
PDF
WUPC2nd A問題
PDF
二分探索をはじめからていねいに
情報オリンピック夏合宿発表
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 026 解説
高認数学 第1回 式の計算
Divisor
How to study stat
ゼロから作るDeepLearning 3.3~3.6章 輪読
Hairetu2
AtCoder Beginner Contest 025 解説
AtCoder Regular Contest 046
Permutation
AtCoder Regular Contest 036 解説
Sanpo
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 021 解説
Meeting7
Four op
WUPC2nd A問題
二分探索をはじめからていねいに
Ad

Viewers also liked (18)

PPTX
Self talk management
PDF
クラウドとは何か
PDF
そんなに無料でノウハウを公開して横田さん大丈夫ですか?
PDF
依存症?
PPT
コロケーションを重視した語彙指導
DOCX
Manjunath_PT_Dec2016
PPTX
簡単な論理思考プレゼンの作り方_株式会社リアルコネクト小倉正嗣
PDF
1.各プロセス説の総合
PDF
5 心機能=身体≠脳Only
PPTX
心の技術
PDF
“プロフェッショナル原論” で仕事の心構えを見直す
PPTX
ブロガーにとってのセルフブランデイング:感情
PDF
Open Biding 感情に向き合う by Raizo
PPTX
はじめてのプログラミング教室(Scratch)
PPTX
とんかつ屋から見るお金のヒミツ
PPTX
全脳アーキテクチャ若手の会 強化学習
PDF
世の中のお金の仕組みを学ぼう!社会人のためのマネーリテラシー講座【ディスカヴァービジネス書スクール2限目】:内藤忍先生
PDF
5分でわかるブロックチェーンの基本的な仕組み
Self talk management
クラウドとは何か
そんなに無料でノウハウを公開して横田さん大丈夫ですか?
依存症?
コロケーションを重視した語彙指導
Manjunath_PT_Dec2016
簡単な論理思考プレゼンの作り方_株式会社リアルコネクト小倉正嗣
1.各プロセス説の総合
5 心機能=身体≠脳Only
心の技術
“プロフェッショナル原論” で仕事の心構えを見直す
ブロガーにとってのセルフブランデイング:感情
Open Biding 感情に向き合う by Raizo
はじめてのプログラミング教室(Scratch)
とんかつ屋から見るお金のヒミツ
全脳アーキテクチャ若手の会 強化学習
世の中のお金の仕組みを学ぼう!社会人のためのマネーリテラシー講座【ディスカヴァービジネス書スクール2限目】:内藤忍先生
5分でわかるブロックチェーンの基本的な仕組み
Ad

Similar to プログラマ脳を鍛える会 Vol2α (20)

PDF
UTPC2012 - K
PDF
【Unity道場】ゲーム制作に使う数学を学習しよう
PDF
Pyramid
PDF
2012年1月20日
PDF
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
PDF
Rで学ぶ逆変換(逆関数)法
PPTX
基礎強化数学 第18回
PDF
整数クイズへの誘い
PPTX
Meeting5
PDF
コンピュータで全く使われない数表現
PDF
最適化の手前の数学
PDF
Ruby4章後半(演算子)
PDF
2011年12月2日
PPT
ゴースト暗算を簡略化してみた
PDF
AtCoder Beginner Contest 020 解説
PDF
Abc009
PDF
AtCoder Beginner Contest 009 解説
PPTX
著者:結城 浩-『プログラマの数学』の第8章をスライド資料にしたもの
UTPC2012 - K
【Unity道場】ゲーム制作に使う数学を学習しよう
Pyramid
2012年1月20日
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
Rで学ぶ逆変換(逆関数)法
基礎強化数学 第18回
整数クイズへの誘い
Meeting5
コンピュータで全く使われない数表現
最適化の手前の数学
Ruby4章後半(演算子)
2011年12月2日
ゴースト暗算を簡略化してみた
AtCoder Beginner Contest 020 解説
Abc009
AtCoder Beginner Contest 009 解説
著者:結城 浩-『プログラマの数学』の第8章をスライド資料にしたもの

More from har hogefoo (6)

PDF
プログラマ脳を鍛える会 Vol14 q15
PDF
プログラマ脳を鍛える会 Vol8
PDF
プログラマ脳を鍛える会 Vol2β
PDF
10分で覚えるvim講座 基本編
PDF
プログラマ脳を鍛える会 Vol1
PDF
5分でわかるvim講座 入門編
プログラマ脳を鍛える会 Vol14 q15
プログラマ脳を鍛える会 Vol8
プログラマ脳を鍛える会 Vol2β
10分で覚えるvim講座 基本編
プログラマ脳を鍛える会 Vol1
5分でわかるvim講座 入門編

プログラマ脳を鍛える会 Vol2α