2017-10-12 5 views
-3

の下の数字だから私はこだわっていますか、私は次のように私の自己を混同: 私は正の整数トップとSQRT

の平方根のための上部と下部の数字を把握するためにforループを使用する必要がありますすなわち:10 トップ4 ボトムで入力のNum 3

です: のNumを入力します8 トップがある:16 トップは4 ボトムは3

と は入力のNumあります3 ボトム2

(編集 )(int top = 1; top> = num;には があります。トップ++) トップに= numはありますか?私は10 ^(1/2)が3.16であることを知っています。 また、上部と下部がどのように見つかったのですか?私はsqrt(10)の上と下がどのように4と3であるのかわかりません...これは分数で、または簡略化された正方形でですか?私はこの問題を混乱させる。ここで助けに基づく

あなたは平方根を渡すまで、あなたは整数上だけループ答え

for(int top = 1; top <=num ; top++) 
{ 
    if(top * top >= num) 
    { 
     cout << "Top is " << top ; 
     cout << "\nBottom is " << (top-1) << endl; 
     top =num +1; 
    } 
} 
+3

してくださいあなたのコードを表示する[編集]、しませんちょうどそれの一部を記述する。 –

+0

3は 'sqrt(10)'より小さい最大の整数であり、4は 'sqrt(10)'より大きい最小の整数です。したがって、底部および上部。 – stark

+0

あなたが混乱している場合は、本当に必要なものを明確にするために、教師や教授に助けを求めるべきです。また、JavaまたはC++のソリューションが異なる可能性があるため、ソリューションに必要な言語を決定する必要があります。 – AntonH

答えて

1

可能性がある:

int bottom = 0; 
int top = 0; 

for (int i = 1; i <= num; ++i) { 
    if (i * i > num) { 
     top = i; 
     break; 
    } 
    bottom = i; 
} 
+0

私は 'i * i> num'を' i * i> = num'に置き換えることをお勧めします。そうでなければ正確な正方形である数字に対してOPによって指定されたように振る舞いません( 'Enter Num:16 Top is 4 Bottom is 3 ')。 – AntonH