小编use*_*682的帖子

找到1和N之间的所有数字的总和,可以用x或y整除

假设我们有3数字N,x而且y总是数字>=1.

N值将大于xyx会大于y.

现在我们需要找到1到N之间的所有数字之和,它们可以被x或y整除.

我想出了这个:

sum = 0;
for(i=1;i<=N;i++)
{
  if(i%x || i%y)
    sum += i;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来找到避免for循环的总和?

我现在已经好好打了很多天,但没有更好的东西.

如果值N具有上限,我们可以使用查找方法来加速该过程.

感谢大家.

我想要一个基于C/C++的解决方案.是否有内置函数来执行此操作?或者我必须编写算法代码?

c c++ puzzle algorithm

11
推荐指数
1
解决办法
5979
查看次数

标签 统计

algorithm ×1

c ×1

c++ ×1

puzzle ×1