-2

変数 h が既に正の整数値に関連付けられているとします。値が h より小さい完全平方の数を 1 から数えるためのコードを記述します。(完全な二乗は、別の整数 (この場合はそれぞれ 3*3 、 4*4 、 5*5 、 6*6) の二乗に等しい 9 、 16 、 25 、 36 のような整数です)。変数 q に計算します。たとえば、h が 19 の場合、h より小さい完全な正方形 ( 1 で始まる) が 1 、 4 、 9 、 16 であるため、q に 4 を割り当てます。

これは私がこれまでに持っているもので、何が間違っているのかわかりません。

q = 0

平方根 = int(h ** 0.5)

sqrt != h の場合:

h += 1

for i in range(1, sqrt):

q += 1

4

2 に答える 2

1
main:  
  q=-1  
  s=0  
  WHILE(s$\lt$h)  
    q=q+1  
    s=s+2*q+1  
    WEND  
    PRINT q  
END
于 2014-05-20T03:17:51.410 に答える
0

q = 0

sqrt = int(h ** 0.5)

if sqrt != h:

h += 1

for i in range(1, sqrt):

q += 1

これは肥大化したコードです。

  • なぜ増加しているのhですか?
  • for ループを使用してインクリメントするのはなぜqですか?
于 2014-05-20T03:18:08.347 に答える