Euler Problem 1

Project-Euler problem 1-50 最近闲的做了下Project Euler 上的题目,前面50题都比较简单,简单总结下,一下代码一般是Python和C/C++的 用Python 做这些题目简直是酸爽啊 一下代码可能不一定是我的,因为不知道论坛里面的回复不是永久的,所以我的代码有的丢了,可能找个和我的意思相近的代码。题目翻译是从 欧拉计划 | Project Euler 中文翻译站上面Copy 的表告我。 Prob 阅读详情
[ 点击打开链接http://projecteuler.net/problem=1]

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

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

一,最直观的方法就是遍历,找出能被3或5整除的数,累加求和。

unsigned int sum = 0;
	int i;
	for( i = 1; i < 1000; i++)
	{
		if( (i % 3) == 0 || (i % 5) == 0 )
		{
			sum += i;
			printf("Multiple %d, SUM %d\n",i,sum);
		}
	}


二,利用容斥原理

在计数时,必须注意无一重复,无一遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。(见百度百科)


其实就是集合运算里的一种方法:AUB = A + B - AB;


被3整除的自然数之和 SUM(3) = 1*3 + 2*3 + 3*3 + 4*3 + n*3...... = 3*(1+2+3+4+5+...+n) = 3 * n*(n+1)/2;


int Sum1ToN(int n)
{
	return n * ( n + 1 ) / 2;
}

int SumMultiples(int limit, int a)
{
	return Sum1ToN( (limit-1)/a ) * a;
}

	int sum = SumMultiples(1000,3) + SumMultiples(1000,5) - SumMultiples(1000,3*5);

	printf("Multiple , SUM %d\n",sum);



END

ObservableList 普通的List是“数据容器”,而是“数据源 + 广播电台”。添加的功能:监听器、精准变更报告、原子替换、实时过滤/排序视图。本质区别普通List是被动的(你问它才给)。是主动的(它变了就立刻告诉你,并且告诉你“哪里变了、怎么变的”)。正是因为它具备了这种“主动广播”的能力,JavaFX 才能实现数据驱动 UI的响应式编程模型。你之前在ComboBox源码中看到的监听器,正是依赖的机制才得以生效的。 阅读详情

相关推荐

%DUMP LIBRARIES-List Loaded PSL Libraries

%DUMP LIBRARIES-List Loaded PSL Libraries

z19861216的博客 169

Project Euler Problem 1

    前几天发现了 projecteluer.net 网站,感觉里面的题目很有意思,便打算每天更新一篇博客,内容主要是 Project Euler Problem 的个人解答。其中解答内容仅代表个人观点,如果有错误或者异议,可以一起讨论,一起学习,谢谢。 Problem 1 If we list all the natural numbers below 10 that are multip...

wxinbeings的博客 309

python提取图片中的文字写入excel文件,并打包为exe可执行文件

python提取图片中的文字写入excel文件,并打包为exe可执行文件

liqiang12689的博客 973

[Project Euler]Problem 1

前段时间大家的推荐找到了 Peoject Euler这个联系算法的网站,很有收获,和大家分享一下做题的经验。 Problem 1: If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is ...

dianbao1841的博客 126

Project Euler题解(Problem 1

Project Euler(http://projecteuler.net/)是个很有意思的数学编程兴趣网站。问题描述简短,提交也很简单,用它来学习一门新语言也很不错。最近在工作之余,尝试了一门新的编程语言rust。光做不说,假把式!就拿Project Euler的题来练练手。Rust是Mozilla提出的一门系统编程语言,具有强类型、安全、并发、高效的特性,网上也有不少的介绍。不多说了, 先

zhl8223的博客 753

Project Euler: Problem 1 to 10

Project Euler: Problem 1 to 10...

因吉的博客 879

Project Euler_Problem 1(MATLAB)

Project Euler_Problem 1(MATLAB) problem 1 Multiples of 3 and 5 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find th...

qq_44408503的博客 283

Project Euler | Problem 1

Problem 1 Multiples of 3 and 5 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000. 3或5的倍数 在小于10的自然数中,3或5的倍数有3、5、6和9,这

weixin_62862113的博客 271

Project Euler problem 1

大概题意就是1~999中能被3或者5整除的数的和 这题是非常基础的题目,直接for就行了 不过的话,project Euler上的题目一般都会有几种解答方法 能被3或者5整除的数的和 实际上等于 能被3整除的和+ 能被5 整除的和 - 能被15整除的和 而这三项都是可以在O(1)时间内算出来的。 此题虽然基础,同样有启发性。

688

map,list简单方法

System.out.println(word1.stream().filter(a -> a.length() > 4).findFirst().orElse("没有找到"));// System.out.println(num3.stream().allMatch(new Predicate<Integer>() { // 等价匿名内部类版。

2301_80007421的博客 208

C++第十讲:list

list 是 C++ 标准库提供的双向循环链表容器,每个元素存储在独立的节点中,节点通过指针连接。底层结构:带头结点的双向循环链表特点:✅ 任意位置插入删除效率 O (1)(不需要搬移元素)❌ 不支持随机访问(不能用[],访问元素需要遍历,O (N))没有容量概念,节点动态申请释放​// 指向节点的指针​{}​// 解引用:返回节点数据的引用​// 箭头:返回节点数据的指针​// 前置++​// 后置++​// 前置--​// 后置--

weixin_54085376的博客 427

Java List 接口详解:从基础到实战

List 接口继承自 Collection 接口,位于 java.util 包中。它允许存储重复元素,并且每个元素都有对应的索引位置,可以通过索引精确访问元素。与 Set 不同,List 保持了元素的插入顺序。有序性:元素按照插入顺序排列,可通过索引访问。可重复:允许存储相同的元素。允许 null:大多数实现类允许存储 null 值。索引访问:支持通过下标快速定位元素。List 是 Java 集合框架中最重要的接口之一,掌握它的实现原理、常用方法和遍历方式,是写出高质量 Java 代码的基础。

2601_96129122的博客 235

⚡Spring JDBC 完整体系 · 第 9 集 | 封装 list 方法 · 泛型初探

<think>我们只需要从给定内容生成一篇≤150字的摘要。内容是关于Spring JDBC封装list方法、泛型初探的。需要概括核心:项目背景、痛点(每次new RowMapper)、解决方案(BaseDao封装list泛型方法,传入SQL和Class,内部用BeanPropertyRowMapper)。注意字数限制,抓重点。直接输出摘要,不要其他格式。</think>本集针对Spring JDBC中查询需反复手动创建BeanPropertyRowMapper的痛点,设计了一个通用BaseDao并封装泛型

gzz_gzz的博客 440

06-04-排序集合-SortedList-TKey-TValue-双数组实现的有序集合

二分查找是 O(log n),后缀搬移是 O(n),所以中间插入总复杂度是 O(n)。随机生成 Add、setter、Remove、Clear 和查询序列,每步检查 Count、键顺序、键值对应和重复键行为。大 O 不告诉转折点。搬移后,原有最后一个有效槽会留下重复引用,实现应在 TKey/TValue 是引用或含引用时将尾槽置为 default,避免已删对象被后备数组继续保活。二分查找使按键查询为 O(log n),连续布局使枚举和已知索引访问紧凑,中间插入/删除则因双数组搬移为 O(n)。

设计 AI 玩游戏🎮 929

C++ list 深度解析:从使用原理到模拟实现

list 是带头结点的双向循环链表,插入删除 O(1),无法随机访问。其迭代器通过 Ref/Ptr 模板区分普通与 const 版本;注意 typename 语法陷阱。因节点零散,排序比 vector 慢,可拷入 vector 排序再拷回优化。splice/merge 仅改指针,效率极高。适合频繁插入删除、无需随机访问的场景。

xxwxx__的博客 335

06-05-排序集合-综合对比-SortedSet-vs-SortedDictionary-vs-SortedList选型

<think>我们根据要求,生成一篇不超过150字的文章摘要。内容是关于SortedSet、SortedDictionary与SortedList的选择指南。需要提取核心要点:根据语义选择类型,树型与数组型实现差异,注意比较器、可变键、性能与内存,以及实验验证。摘要应精炼。</think>摘要:比较SortedSet、SortedDictionary与SortedList,应优先按语义选择:唯一元素用Set,键值映射按更新模式选Dictionary或List,后者支持位置索引。注意比

设计 AI 玩游戏🎮 734

Java-泛型擦除-反射往List塞Integer

泛型是编译期约束,运行时擦除成Object。别用反射绕过泛型检查,否则炸弹会留到遍历时才引爆。泛型方法重载要注意擦除后的签名冲突。我是无羡(小剑),全栈偏后端的独立开发者。无羡 · 独立开发者作品集。

qq_22193961的博客 239

Redis---List列表

如果下标越界,则redis会尽可能地获取对应的内容。

2403_89229523的博客 189

微信小程序 - 解决报错 operateAudio:fail audioInstance is not set(wx.getRecorderManager苹果ios真机调试运行,播放音频播放出错解决)

微信小程序,苹果ios系统,真机测试报错,播放音频报错operateAudio:fail audioInstance not exist,errCode: -1,小程序生成音频播放报错errMsg,真机调试报错开发者工具没问题,wx.getRecorderManager,音频实例,InnerAudioContext,各种方法都试了不行,只有ios苹果手机有这个问题,IOS 出现 operateAudio,在iOS无法播放的解决方案,更新到最新版本了还是不行,链接没有特殊字符,微信小程序全局音频设置,手机上播

🏆 前端领域优质创作者 1万+

【新手机器学习入门】泰坦尼克生存预测数据集(包含Ground Truth).zip

Kaggle竞赛上常年的新手机器学习入门项目,给定819名乘客的数据用于建模,用于预测剩下418名乘客的生存情况,本数据集中也包含了测试集答案(Ground Truth)用于验证。

上一篇: 初玩OPhone手机
下一篇: Linux 滚屏与清屏
kimoli
博客等级 码龄24年 3粉丝 66原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值