如果我们有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
我该怎么办?
谢谢。
您混合了相等运算符。尝试这个:
INPUT "ENTER A VALUE FOR N"
SUM = 0
FOR I = 1 TO N
IF I MOD 4 <> 0
SUM = SUM + I
NEXT I
不需要编写程序,或者至少不需要使用循环。
前 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)
注意:/
=整数除法
这个片段计算整数和 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