C# 我对给定范围内所有fizzbuzz数字之和的更优化的解决方案感兴趣
数字fizzbuzz由两个数字组成,分别是fizz和buzz fizz表示可被3整除的数字,buzz表示可被整除的数字C# 我对给定范围内所有fizzbuzz数字之和的更优化的解决方案感兴趣,c#,algorithm,sum,fizzbuzz,C#,Algorithm,Sum,Fizzbuzz,数字fizzbuzz由两个数字组成,分别是fizz和buzz fizz表示可被3整除的数字,buzz表示可被整除的数字 结合两个fizzbuzz,是可被3和5整除的数字。那么我们如何才能得到给定范围内所有的fizzbuzz数之和。小于或等于N的fizzbuzz数是0到N之间的整数,可以被15整除。它们的总和是sum(15*i表示i=1到N/15)等于15*sum(i表示i=1到N/15),或者15*(N/15)*(1+N/15)/2。(注意,这里的/表示整数除法的四舍五入) [a,b]范围内的嘶
结合两个fizzbuzz,是可被3和5整除的数字。那么我们如何才能得到给定范围内所有的fizzbuzz数之和。小于或等于N的fizzbuzz数是0到N之间的整数,可以被15整除。它们的总和是
sum(15*i表示i=1到N/15)
等于15*sum(i表示i=1到N/15)
,或者15*(N/15)*(1+N/15)/2
。(注意,这里的/
表示整数除法的四舍五入)
[a,b]
范围内的嘶嘶声数之和(即大于或等于a
且小于或等于b
)等于小于或等于b
的嘶嘶声数之和减去小于或等于a-1
的嘶嘶声数之和。这是使用第一段中的结果得出的15*(b/15)*(1+b/15)/2-15*((a-1)/15)*(1+(a-1)/15)/2
。Hi。尝试在不使用循环的情况下计算第一个fizzbuzz数,然后找到下一个fizzbuzz数,您只需将其增加15,然后再增加15,以此类推,直到达到或超过最大范围值。谢谢,这将是更好、更优化的解决方案。您好,将您当前的方法作为问题的一部分很好(事实上,为了证明您做出了一些努力,我们建议您这样做)——就像编辑之前一样。您应该在问题的末尾提到“我对更优化的解决方案感兴趣”.你知道算术级数的和吗?@vijay pratap所以把这些知识应用到值序列k*15