締切:11月13日(金)AM10:00まで
「セカンド・イクエイション」問題
ちなみに,二次方程式は an equation of the second degree。短くいえば,quadratic equation。
second equation は The second equation is a polynomial equation or a rational equation. のように使う(らしい。知らんけど)
3つの自然数 a, b, c に対し、これらを係数に持つ次の二次方程式を考えます。
a x2 + b x + c = 0 … (※)
例えば、(a, b, c) = (1, 6, 4) のとき、方程式(※)は、x2 + 6x + 4 = 0 となります。
この方程式は実数解を持ちます。x = -3+√5 と x = -3-√5 の二つです。
一方で、(a, b, c) = (1, 6, 10) のとき、方程式(※)は実数解を持ちません。
b ≦ 3 の範囲で、方程式(※)が少なくとも一つの実数解を持つような自然数の組 (a, b, c) は、全部で 4 組あります。
(a, b, c) = (1, 2, 1), (1, 3, 1), (1, 3, 2), (2, 3, 1) です。
自然数 m に対し、b ≦ m の範囲で方程式(※)が少なくとも一つの実数解を持つような自然数の組 (a, b, c) の個数を F(m) と定義します。
例えば F(3) = 4、F(4) = 12、F(10) = 287、F(100) = 620174 です。
標準入力から、自然数 m(1 ≦ m ≦ 3000)が与えられます。
標準出力に F(m) の値を出力するプログラムを書いてください。
短いよ。驚くな。先頭 2 行と終わりの 1 行は入出力のため。残り 4 行でプログラム。
ある数列の和になるのだ。公式があるwww
con=file("stdin", "r")
b=as.integer(readLines(con, 1))
n=0
for (i in (2:b)^2 %/% 4) {
n = n+2*sum(i %/% 1:as.integer(sqrt(i)))-as.integer(sqrt(i))^2
}
cat(n)
※コメント投稿者のブログIDはブログ作成者のみに通知されます