欧拉项目链接:https://projecteuler.net/archives

题目链接:https://projecteuler.net/problem=1

题目描述:Ifwe list all the natural numbers below 10 that are multiples of 3 or 5, we get3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

题目大意:求1000内所有3或5的倍数的和

方法1:用C++就一个for即可,代码如下:
 

 1 #include <cstdio>
 2
 3 int main(){
 4     int sum=0;
 5     for(int i=1;i<1000;i++){
 6         if(i%3==0 || i%5==0){
 7             sum+=i;
 8         }
 9     }
10     printf("%d\n",sum);
11 }

View Code

方法2:这里只求1000内满足题意的和,但是如果数字大一点,那么用for来的话,跑得时间就太长了。那么就得换一种简单的思路,由题目可以联想到容斥定理,先将3、5、15的所有倍数的和求出来(分别记作ans1,ans2,ans3),那么题目所要求的就是ans1+ans2-ans3。而求ans1,2,3直接用等差数列的求和公式即可,代码如下:
 

#include <cstdio>int main(){int a=999/3,b=999/5,c=999/15;  //分别存有多少个3、5、15的倍数int ans1=(a+1)*a*3/2,ans2=(b+1)*b*5/2,ans3=(c+1)*c*15/2;printf("%d\n",ans1+ans2-ans3);
}

View Code

我暂时就想到这两种方法,如果看我博客的老铁有其他思路,还请在评论区告诉我,谢谢啦~

转载于:https://www.cnblogs.com/Dillonh/p/8490001.html

Multiples of 3 and 5相关推荐

  1. 【算法题】Multiples of 3 and 5

    Multiples of 3 and 5 原题 题意如下: 找出N以内的3和5的倍数的和. 思路 1.刚看到觉得好弱智,直接遍历一遍不就OK了吗?但是第2和第3个测试用例报了TLE,超时. 2.然后想 ...

  2. Problem 1: Multiples of 3 and 5

    小白一枚,python解法,共同学习,一起进步. Problem 1: Multiples of 3 and 5 If we list all the natural numbers below 10 ...

  3. ProjectEuler Problem1.Multiples of 3 and 5

    题目链接:1.Multiples of 3 and 5 题意:   求小于1000的3和5的倍数的和 解题   可以使用循环,也可以直接分析,等差数列求和(注意,3和5的公倍数只需计算一次,多计算的减 ...

  4. 图论 ---- D. Multiples and Power Differences (全局lcm + 矩阵二分图)

    题目链接 题目大意: 给你一个n×mn×mn×m的矩阵aaa 1≤a[i][j]≤161≤a[i][j]≤161≤a[i][j]≤16 要你构造矩阵bbb,使得bbb矩阵的元素为aaa矩阵元素的倍数 ...

  5. SPOJ MULTQ3 7299 Multiples of 3 (区间更新)

    题目连接:http://www.spoj.com/problems/MULTQ3/ #include <iostream> #include <stdio.h> #includ ...

  6. Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维)

    题目链接 题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:"234"和"123"拼接得到"234123" ...

  7. Codeforces Round #701 (Div. 2) D. Multiples and Power Differences 思维构造

    传送门 题意: 给定一个矩阵aaa,让你构造一个矩阵bbb,要求矩阵bbb的每个元素是aaa对应位置元素的倍数,且矩阵bbb的每两个相邻元素相差为k4(k>=1)k^4(k>=1)k4(k ...

  8. linux 虚拟一个40段ip,linux – 接口上的Multiples ip地址.我想指定其中一个输出

    我在curlmyip.com上运行了curl,我得到了错误的输出ip地址. 我的systemd服务文件是: [Unit] Description=Wired Networking Wants=netw ...

  9. Codeforces Round #666 (Div. 2)C - Multiples of Length(错位相减)

    problem 给出N个数,可以进行三次操作, 每次选中一个区间,区间里任意一个元素可以加上一个区间长度的倍数(并且加的数可以互相不同) 让所有数变成0 求方案 solution 好久没打CF了,签到 ...

  10. Removing Smallest Multiples

    我以为会超时的,结果没有.现在想想应该也是O(n)的算法,因为在倍数判断时候也每个数只能进入判断一次. 思路就是先找出一个数,若小于他的数乘它自己仍未访问,则删去. #include<bits/ ...

最新文章

  1. c语言long int表示范围_C语言编程第9讲——这些C语言整数类型的知识点你掌握了吗...
  2. CentOS安装Oracle全过程
  3. GitHub 高速上手 ---- 创建密钥,连接
  4. python语言编程模式是啥-Python的设计模式编程入门指南
  5. c+和python先学哪个比较好-【编程先学什么好,c还是python】python教程c
  6. CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件
  7. 视频分解图片原理;图片合成视频原理
  8. .net framework与java,分布式事务:.NET Framework与.NET Core
  9. svn 地址中文_iGit自助迁移SVN工程解密
  10. vs2008 及.netframework3.5 安装问题
  11. 复数四则运算 (15 分)
  12. first-class type 一等类型的含义
  13. 【BZOJ 1038】 1038: [ZJOI2008]瞭望塔
  14. Ajax控件和类库简析
  15. 吴恩达深度学习笔记(归一化)
  16. java构建编译区别_构建与编译(Java)
  17. 传统行业中CPK的计算方法
  18. 计算机与科学技术会学机械,计算机科学与技术和机械设计制造及其自动化的区别...
  19. ipa安装手机失败的几类原因
  20. LoRa点对点系统4 进程通信

热门文章

  1. 程序员为什么不写注释
  2. layui表格合并的方法
  3. Linux挂载逻辑卷
  4. 自动组卷系统C语言,自动组卷系统的设计与实现
  5. 关于游戏,能戒就戒吧
  6. 自学单片机是否先学c语言,学习单片机一定要先学好C语言再去学单片机吗
  7. [笔记] Codeforces#274 Riding in a Lift (479E) DP
  8. 星期五五–大数据,Doppio和假Linus Torvalds
  9. Linux内核“问题门” - 学习问题、经验集锦
  10. 力扣LeetCode刷题笔记总结1