小编AME*_*N B的帖子

给定一个范围,求能被 3 或 5 整除的数字之和

下面的代码对于较小的数字来说工作得很好,但是对于更大的数字的时间膨胀给了我建议

#include<stdio.h>
int main()
{
  int num;
  int sum=0;
  scanf("%d",&num);
  for(int i=1;i<=num;i++)
  {
    if(i%3==0 || i%5==0)
    sum += i;
  }
  printf("%d",sum);
}
 
Run Code Online (Sandbox Code Playgroud)

为此需要有效的代码

尝试减少代码花费的时间。

c

0
推荐指数
1
解决办法
270
查看次数

如何切换数字中的所有位?

#include <stdio.h>

int main() {
    int n = 10;
    int ans = n ^ (1 << 2);
    printf("%d", ans);
}
Run Code Online (Sandbox Code Playgroud)

此代码切换特定数字,但我需要整个位来切换示例:10-> 0b1010-> 0b0101->5

c binary bit-manipulation

-1
推荐指数
1
解决办法
704
查看次数

标签 统计

c ×2

binary ×1

bit-manipulation ×1