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

这个片段计算整数和 n 个可被 4 整除的跳过值。

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 回答