問題一覧 > 通常問題

No.781 円周上の格子点の数え上げ

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 171
作問者 : startcpp / テスター : はむこ
3 ProblemId : 1709 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-05-17 12:29:19

問題文

xy平面上に, 原点Oを中心とする半径Rの円があるとき, 円周上にある格子点の個数をf(R)とおく。
格子点は, x座標y座標がともに整数の点である。
たとえば, f(1)=4,f(5)=8,f(25)=12である。

Rの最小値X, 最大値Yが与えられるので、max(f(X),f(X+1),,f(Y))を求めよ。ただし, X=Yのときはf(X)を求めよ。

入力

X Y

X, Yは整数である.
1XY107

出力

f(X)f(Y)の最大値を出力してください。ただし, f(整数)のみ考えます。
最後に改行してください。

サンプル

サンプル1
入力
25 25
出力
12

25の平方根のうち正の方は5です。
半径5の円(原点中心)の円周上には, 12個の格子点があります。
したがって、f(25)=12となります。

サンプル2
入力
1 50000
出力
64

f(1)f(50000)までの最大値は, f(27625)=64です。

サンプル2
入力
33455 37510
出力
48

f(33455)f(37510)までの最大値は, f(34450)=48です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。