組み込みエンジニアの現場力養成ドリル(32)
ソフトウェア工学的には羽生善治の「5二銀」は最善手ではない!? 東工大入試問題をプログラムで解く(2/4 ページ)
問題1の解答&解説
入試会場でこの問題を見た受験生は、こう考えるでしょう。「5の2乗の25のように、2乗した数は、ガウス数は[√25]=5なので割り切れる。他の数はどうか。雰囲気をつかむため、少しだけ試してみよう」。
上記のように、√25から√35まで、ガウス数が5となり、25、30、35がガウス数で割り切れます。ここで、大きな数、例えばガウス数が89になると、√7921から√8099まで調べねばならず、「大きな数字がたくさんあって、超面倒だぁ」と憂鬱になります。
この問題を作った東工大の先生の意図は、「1, 2, ... 99, 100の2乗を全てチェックするのは大変だ。そこで、何らかの法則を自分で見つけて解いてほしい」でしょうね。
「何らかの法則」とは、羽生五段の5二銀のような「妙手」です。入試問題ですので、「妙手」が存在することは保証されていますが、妙手を探すにはいろいろ考えねばなりません。
入試では、「10000もの数をチェックするのは超級大変でしょう?」ですが、プログラミングでは、最も壁の厚い正面からぶつかって全数をチェックする戦法は、とても単純で簡単で、誰でも思いつきます。全数チェックは、ソフトウェアでのアルゴリズムの基本です。
プログラミングで解くには、1から10000まで全数で平方根のガウス数を計算して、割り切れる個数をカウントアップすればいいのです。具体的には以下の手順となります。
- 「変数」に1、「割り切れた個数」に0を代入する。
- 「変数」の「平方根」を計算する。
- 「平方根」の小数点以下を切り捨て、「ガウス数」を求める。
- 「ガウス数」が「変数」の約数なら(割り算の余りがゼロなら)、「割り切れた個数」に1を加算する。
- 「変数」に1を加える。
- 「変数」が10000以内なら、「2.」へ戻る。10000を越えたら、「割り切れた個数」を出力して終了する。
巻末の「参考ソースコード1」にプログラムを掲載しました。平方根を求める関数(sqrtf)や割り算の余りを求める関数(%)で、整数と実数の型のキャスティングをせねばならず、泥臭いコーディングになって、お恥ずかしい限りです。コメント行やprintfで分かりやすくコーディングしていますが、実質的なステップ数は15行。所要時間は10分ほどです。プログラミングに慣れた人は、もっと短時間で短くスタイリッシュに書けるでしょう。
東工大の入試問題の答えは、以下のように、298個です。
Copyright © ITmedia, Inc. All Rights Reserved.
組み込みエンジニアの現場力養成ドリル
このコラムでは、組み込みエンジニアが日々の開発で実際に遭遇する「小さなトラブルを」取り上げ、演習形式で解説します。
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社 Green AI] AIで脱炭素計画を最適化、初年度からエネルギーコストとCO2を削減する方法 -
市場調査・トレンド
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の普及戦略が公表 政府が目指すコスト・導入量のロードマップを解説 -
市場調査・トレンド
[スマートジャパン編集部] 導入が加速する再エネ・系統向け蓄電システム コスト・収益性の現状分析 -
技術文書・技術解説
[スマートジャパン編集部] いまさら聞けない「ペロブスカイト太陽電池」の基礎知識と政策動向 -
技術文書・技術解説
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の開発動向、日本の投資戦略やコスト目標の見通しは?
関連記事
こんなメディアも見られています
TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
特集
- マテリアルズ・インフォマティクスの動向調査
- 研究・開発職のデジタル活用調査
- 設計・解析業務におけるAI活用
- 3Dプリンタ利用動向調査
- CAD利用動向調査
- つながる工場の現状と課題
- 製造業におけるAI開発および活用の実態
- 設計・製造現場における品質管理
ホワイトペーパーランキング PR
-
1
EE Times Japan×EDN Japan 統合電子版:フィジカルAIが生み出す新たな「設計思想」――電子版2026年8月号
-
2
半導体装置メーカー 業績まとめ【2027年3月期第1四半期】
-
3
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part4)
-
4
一時は時価総額トヨタ超え キオクシア2026年度の動向
-
5
微細配線間の絶縁劣化をどう捉える? 先端パッケージ評価の最前線
-
6
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part1)
-
7
EE Times Japan×EDN Japan 統合電子版:2026年上半期の半導体業界を振り返る――電子版2026年7月号
-
8
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part3)
-
9
CADツールの見直しは本当に必要? 切り替えの理由と効果を7つの質問で検証
-
10
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part2)
TechFactory SNS
インフォメーション
注目情報をチェック
TechFactoryをフォロー