xとyをそれぞれ0から10まで1きざみで変え、そのすべてを組み合わせた平面上の11x11個の点(x,y)を考える.
これらの点のうちで、
y = - ( x -1 ) ^2 + 10(二次関数)
y = 3
の2つの線に囲まれた領域内(線上は除く)に含まれる点の数を出力するプログラムを作成せよ.
この問題を考えています。for文とか使うだろうなーと想像がつきますが、どのようにやったらいいかお手上げ状態です。
どなたかご教授ください。
教えてください
Re:教えてください
>y = - ( x -1 ) ^2 + 10(二次関数)
>y = 3
二次関数と直線のグラフを描いてみると、イメージがわいてきます。
与えられた二次関数は、(1, 10)を頂点とする放物線です。
y = 3はx軸に平行な直線で、そのy座標(3で一定)は、
放物線の頂点のy座標(10)よりも小さいです。
したがって、今回の問題は、(0, 0)~(10, 10)の121個の点のうち、
y座標が放物線より小さく、かつ直線より大きい点の個数を求めることに
帰着します。
xとyに関する二重のforループの中で、if文による大小判定を
行なうことになります。
>y = 3
二次関数と直線のグラフを描いてみると、イメージがわいてきます。
与えられた二次関数は、(1, 10)を頂点とする放物線です。
y = 3はx軸に平行な直線で、そのy座標(3で一定)は、
放物線の頂点のy座標(10)よりも小さいです。
したがって、今回の問題は、(0, 0)~(10, 10)の121個の点のうち、
y座標が放物線より小さく、かつ直線より大きい点の個数を求めることに
帰着します。
xとyに関する二重のforループの中で、if文による大小判定を
行なうことになります。