编者这里就利用python解决一些数学问题,解决方法不只一个,如果有想法的小伙伴欢迎评论,如果觉得不错,欢迎点赞,关注,收藏哦(^▽ ^)

一、问题描述

如果我们列出10以内所有3或5的倍数,我们将得到3、5、6和9,这些数的和是23。

求1000以内所有3或5的倍数的和。

二、问题解决

通过从0-999进行列举,判断每一个数是否能被3或5整除,如果可以,则相加。

程序如下,:

sum = 0
len = int(input('please int a num:'))
for i in range(len):if i % 3 == 0 or i % 5 == 0:print(i)sum += i       print('sum:', sum)

我们先利用10以内的数进行验证,可以看到成功打印出了10以内所有3或5的倍数,并且得到了正确的和

please int a num:10
0
3
5
6
9
sum: 23

因此我们可以得出答案为:233168

三、更高效的解决方案

上述方法的确可以成功解决问题,但是,如果我们要求的数非常大,如 1 0 100 10^{100} 10100,这样,程序可能要列举一段时间才能得到结果。

以1000以内的数,我们观察其规律能够得出:

3的倍数之和:3+6+9+12+…+999=3*(1+2+3+4+…+333)
5的倍数之和:5+10+15+…+995=5*(1+2+…+199)

而等式右边我们可以利用求和公式求出结果
S n = 1 2 n ( a 1 + a n ) S_n = \frac{1}{2}n(a_1+a_n) Sn​=21​n(a1​+an​)

在本题目中, a 1 = 1 , a n = n a_1=1, a_n=n a1​=1,an​=n,而 n n n等于1000整除3(5)。在python中整除可以用// 表示。

这里要注意的一点就是,15同时是3和5的倍数,因此,如果我们将3的倍数之和与5的倍数之和相加,实际上是将15的倍数之和加了2次(这里有点拗口,大家细细品味一下)。

最终,我们可以将程序变为这个样子:

len = int(input('please input a num:'))
def sum(multiples):n = (len-1) // multiplesreturn multiples*(n*(n+1)) // 2result = sum(3) + sum(5) - sum(15)
print(result)

我们同样能够的到相同的答案

please input a num:1000
233168

【数学问题】求1000以内3和5的倍数之和相关推荐

  1. 一道面试题:用多线程求1000以内的素数有多少个?并给出消耗时间

    我曾经去一个公司面试,遇到这么一个题目:求1000以内的素数有多少个?用多线程实现,并给出消耗时间.我想了半天,没有想出多线程的解决方案.今天因为机缘到了,我浅谈下我的解法. 这道题,显然得考虑两个问 ...

  2. C语言 | 求1000以内的所有完数及求2000以内最大的完数(C源代码)

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  3. 求 1000 以内的完数

    求 1000 以内的完数 完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.例如:6 = ...

  4. C++中如何读取一个数的位数_求1000以内的水仙花数

    点击上方 蓝字关注我们 大家好,我是阿汤哥. 看知乎上有朋友说还不明白怎么判断水仙花数,今天我们就来看看这个问题.(PS:"求1000以内的水仙花数"这道题阿汤哥记忆犹新.到现在还 ...

  5. 求1000以内的所有水仙数c语言,求1000以内的所有水仙花数

    求1000以内的所有水仙花数 #include//打印1000以内所有的水仙花数 int main() { int i,baiwei=0,shiwei=0,gewei=0; for(i=1;i< ...

  6. java蓝桥杯算法训练 求1000以内的完数(题解)

    试题 算法训练 求1000以内的完数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为"完数". ...

  7. ​求1000以内是3或者是5的倍数的值的和

    求1000以内是3或者是5的倍数的值的和?总结如下: 1.笨方法 a=0    for n in range(1,1000):     if n%3==0 or n%5==0:         a=a ...

  8. 帮我用c语言写一个求1000以内质数的程序

    很高兴为您服务!我可以为您编写一个用C语言求1000以内质数的程序,代码如下: #include<stdio.h> int main() { int n, i, j, flag; prin ...

  9. C++求1000以内水仙花数

    C++求1000以内水仙花数 水仙花数的定义: C++代码: 代码说明: 水仙花数的定义: 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身.例如:1^3 + 5^3+ 3^3 ...

最新文章

  1. 漫谈我国主流人工智能软件基础设施
  2. 在octopress中增加“返回顶部”按钮
  3. WCF之服务实例管理
  4. 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)
  5. android编程用真机模拟,android编程的广播,模拟器可接受,但真机不可接受。
  6. Python之pandas:pandas中缺失值与空值处理的简介及常用函数(drop()、dropna()、isna()、isnull()、fillna())函数详解之详细攻略
  7. 在ssh项目中的中配置数据源c3p0
  8. 清除webBrowser 缓存和Cookie的解决方案
  9. iOS - UIRefreshControl
  10. linux nat span端口镜像,SPAN端口镜像
  11. 在SQL Server中用好模糊查询指令LIKE
  12. 8数据提供什么掩膜产品_喜茶、茶百道、书亦、古茗8月外卖热销产品数据全解析...
  13. c语言中实现字符串的大小的比较_C语言 | 函数实现比大小
  14. pytorch模型预测
  15. Summary of defect detection algorithms based on deep learning
  16. 想把语音转成文字,就这样做
  17. 采用以太坊智能合约技术的报名系统源码
  18. Android设备唯一识别码的获取
  19. 通用量子操作系统,收揽全球量子硬件20%市场份额
  20. 火车票抢票程序【selenium】【python】

热门文章

  1. 蓝桥杯青少儿创意编程往届真题或样题收集分享!
  2. 基于网管软件的业务管控解决方案
  3. 记一次robotframework-ride快捷方式打不开的坑!!
  4. java飞机大战弹多角度_飞机大战开发05按角度发射的子弹和拖尾子弹的实现
  5. Android手机修改分辨率
  6. 惊! 花椒程序员new了一个3D女朋友!
  7. 2021年中国绿茶产销现状及进出口贸易分析:产量达184.94万吨,同比增长0.36%[图]
  8. 计算机开启后显示器黑屏,开机后显示器黑屏无信号输入但电脑主机一直在运行的解决方法...
  9. fprom预测结果内容_启动子的分析和预测
  10. (二)Nick:句子成分和基本句型