找到给定N个数字中可被3整除的所有数字的总和。关于循环的伪代码/算法

时间:2015-09-17 17:33:34

标签: algorithm

正如我分析的那样,我得出了一个结论,但我不认为它会起作用所以如果你纠正它我会很感激。  如果我想再次输入一个数字以便在sum变量上添加什么可以做出决定?

Start

Initialize
counter = 0 ,
sum = 0 

Input N 

N % 3 == 0 

If true , sum += N  then else if counter != N {
    If true , loop back to " Input N " 

    else print sum  
}
else , N not divisible by 3 .

Print sum 

End

3 个答案:

答案 0 :(得分:0)

我假设你想要所有小于n的数字的总和并且可以被3整除,试试这个

Input n
Initialize counter = 1, sum = 0
Do
    If counter % 3 == 0
        sum += counter
    counter++
While counter <= n
Print sum

答案 1 :(得分:0)

m = n / 3(int division)

回答= 3 * m *(m + 1)/ 2

因为3 + 6 + 9 + ... + n = 3 *(1 + 2 + 3 + ... + n / 3)

答案 2 :(得分:-2)

我可以建议您使用更快的算法 因为我们的序列将是3,6,9,12,,15,21,24,27 ...... 3×n

可比给定数字N整除3的最后一位数字是N-1 / 3。将其分配给变量x。

for(int i =3; i<x;i+=3)
sum= sum + i
Print(sum)