教えてください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初心者

教えてください

#1

投稿記事 by 初心者 » 18年前

xとyをそれぞれ0から10まで1きざみで変え、そのすべてを組み合わせた平面上の11x11個の点(x,y)を考える.
これらの点のうちで、
y = - ( x -1 ) ^2 + 10(二次関数)
y = 3
の2つの線に囲まれた領域内(線上は除く)に含まれる点の数を出力するプログラムを作成せよ.


この問題を考えています。for文とか使うだろうなーと想像がつきますが、どのようにやったらいいかお手上げ状態です。
どなたかご教授ください。

box

Re:教えてください

#2

投稿記事 by box » 18年前

>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文による大小判定を
行なうことになります。

初心者

Re:教えてください

#3

投稿記事 by 初心者 » 18年前

ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る