1

次のようになっている場合M

M = 1+2+3+5+6+7+9+10+11+13+...+n

QBasic見つけるためのプログラムは何でしょうかM

これまでに次のことを行いましたが、期待値が返されません

INPUT "ENTER A VALUE FOR N"
SUM = 0
FOR I = 1 TO N
IF I MOD 4 = 0
SUM = SUM + I
NECT I

これについてはどうすればよいですか?

ありがとう。

4

3 に答える 3

2

等式演算子を混合しました。これを試して:

INPUT "ENTER A VALUE FOR N"
SUM = 0
FOR I = 1 TO N
IF I MOD 4 <> 0
    SUM = SUM + I
NEXT I
于 2012-12-06T12:30:44.087 に答える
2

プログラムを作成する必要はなく、少なくともループを使用する必要もありません。

最初のn個の自然数の合計:

sum_1 = n * (n + 1) / 2

4 <nの倍数の合計:

sum_2 = 4 * (n / 4) * (n / 4 + 1) / 2 = 2 * (n / 4) * (n / 4 + 1)

結果はsum_1 - sum_2次のとおりです。

sum = sum_1 - sum_2 = n * (n + 1) / 2 - 2 * (n / 4) * (n / 4 + 1)

注意:/=整数除算

于 2012-12-06T12:45:41.703 に答える
0

このスニップは、整数の合計を4で割り切れるn個のスキップ値に計算します。

PRINT "Enter upper value";
INPUT n
' calculate sum of all values
FOR l = 1 TO n
    x = x + l
NEXT
' remove values divisible by 4
FOR l = 0 TO n STEP 4
    x = x - l
NEXT
PRINT "Solution is:"; x
于 2016-08-06T00:01:27.250 に答える