首页 > 后端开发 > C++ > 将以下内容翻译为中文:在C编程中,求N以内能被2或5整除的数的和

将以下内容翻译为中文:在C编程中,求N以内能被2或5整除的数的和

WBOY
发布: 2023-09-20 08:25:06
转载
1259 人浏览过

将以下内容翻译为中文:在C编程中,求N以内能被2或5整除的数的和

可被 2 或 5 整除的 n 个自然数的和可以通过查找 N 以内可被 2 整除的所有自然数之和以及 N 以内可被 5 整除的所有自然数之和来求出。将这两个和减去 N 以内可被 10 整除的自然数之和,这就是我们想要的结果。此方法是一种有效的方法,可用于求 n 的大值之和。

你们中的一些人一定正在考虑使用循环和条件语句,然后将所有可被整除的数字相加2 或 5,但这种方法效率低下,因为它的时间复杂度为 n 阶。这意味着对于较大的 n 值,程序将运行循环 n 次。而且这样执行会使程序变得更重。

求n个自然数之和能被2整除的公式

Sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2
登录后复制

找到n个能被5整除的自然数的求和公式 

Sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2
登录后复制

找到n个能被10整除的自然数的和的公式 

Sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2
登录后复制

期望的输出

Sum = Sum2 + Sum5 - Sum10
登录后复制

示例

#include <stdio.h>
int main() {
   int n = 25;
   long int sum2, sum5, sum10;
   sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2;
   sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2;
   sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2;
   long int sum = sum2 + sum5 - sum10;
   printf("Sum is %d", sum);
   return 0;
}
登录后复制

输出

Sum is 201
登录后复制

以上是将以下内容翻译为中文:在C编程中,求N以内能被2或5整除的数的和的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板