体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

第170回「今週のアルゴリズム:半径が同じ円を重ならないように描く」正解者発表

「今週のアルゴリズム」とは

「今週のアルゴリズム」問題は、毎週火曜日にちょっとした問題を出題し、正解するとニックネームを掲載していくというシリーズ問題です。そして、正解した方全員に「たいへんよくできました」バッジも付与されます。

第170回は「今週のアルゴリズム:半径が同じ円を重ならないように描く」の問題です。

問題文「第170回 今週のお題:半径が同じ円を重ならないように描く」

座標平面において、x軸上の点を中心とする円をいくつか描くことを考えます。
ただし、中心となるx軸上の点のx座標はいずれも m 以下の「素数」とします。
これらの点の中から中心とする点を n 個選び、直径が同じ円を描くとき、いずれの円も重ならないようにします。
(円が外接するときは問題ないものとします)

例えば、m = 30, n = 4 のとき、以下の位置を中心にする円を描くと、いずれの円も重なりません。

中心:(2, 0), (11, 0), (19, 0), (29, 0)

イメージ

この条件を満たす円を描いたとき、直径が最大になるのは上記の図のときで、その直径は8です。

標準入力から m と n が与えられたとき、直径が最大となる場合を求め、その「直径」を標準出力に出力してください。
なお、m, n はいずれも正の整数とし、m

【入出力サンプル】
標準入力
30 4

標準出力
8

正解者

おめでとうございます!正解者のみなさんです。(新着順)

strauss様
さんせん様
みけCAT様 

CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。