Project Euler 12 请你求出因数的数目多于500的最小的三角形数

ProjectEuler1-16代码 ProjectEuler题1-16题代码,直接引入Eclipse就可以用 立即下载

因数:整数B能整除整数A,A叫作B的倍数,B就叫做A的因数或约数

三角形数:1,3,6,10,15,21……这些数量的,都可以排成三角形,像这样的数称为三角形数,如:

1…………………………1

1 2……………………….3

1 2 3……………………..6

1 2 3 4…………………..10

题目的关键是:使用最短的时间求出一个数的因数(n)的个数(count)

我们发现:

(1)若存在n=(n/2)^2,有如下:

  • i<n/2时,若n%i==0,count+=2
  • i=n/2时,若n%i==0,count+=1

(2)若不存在n=(n/2)^2,有如下:

  • i<sqrt(n)时,若n%i==0,count+=2

算法到此结束。

代码如下:

#include <iostream>
#include <time.h>
using namespace std;
int count(int n)
{
	int sum = 0;
	for(int i = 1;i*i <= n;++i)
	{
		if(n%i==0)
		{
			sum+=2;
			if(n/i==i)
				--sum;
		}
	}
		return sum;
			


}
int main()
{


	clock_t start, end;
	start = clock();
	int m=0;
	for(int i=1; ;++i)
	{
		m+=i;
		if(count(m)>=500)
			break;
	}
	end = clock();
	cout<<m<<endl;
	 cout<<"Run time: "<<(double)(end - start) / CLOCKS_PER_SEC<<"S"<<endl;
	return 0;
}






数字三角形问题给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 Problem B:数字三角形问题 Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径,使该路径经过的数字总和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 编程任务: 对于给定的由n 行数字组成的数字三角形,编程计算从三角形的顶至底的路径经过的数 字和的最大值。 Input 由文件input.txt 提供输入数据。文件的第1 行是数字三角形的行数n,1£n£100。接下 来n行是数字三角形各行中的数字。所有数字在0..99之间。 Output 程序运行结束时,将计算结果输出到文件output.txt 中。文件的第1 行中的数是计算 出的最大值。 Sample Input 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Sample Output 30 立即下载

相关推荐

5G R18标准:AI/ML如何重塑空口优化与网络架构

人工智能与机器学习正逐步成为通信网络优化的核心技术。其核心原理在于通过数据驱动模型,从海量网络数据中学习信道变化、用户行为等统计规律,替代传统的基于固定规则的优化方法。这一技术范式能显著提升网络性能与效率,尤其在空口资源管理、干扰协调和能耗控制等场景中价值突出。在5G Advanced(R18)标准化框架下,AI/ML被系统性地引入空口设计,聚焦于信道状态信息反馈增强、波束管理与预测等关键用例。通过定义网络侧AI、终端侧AI及联合学习的标准化接口与流程,R18旨在实现跨厂商设备的智能协同,推动无线网络向自适

weixin_35671843的博客 242

欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少

题目 三角形数序列是由对自然数的连加构造而成的。所以第七个三角形数是1+2+3+4+5+6+7=281+2+3+4+5+6+7=28. 那么三角形数序列中的前十个是:1,3,6,10,15,21,28,36,45,55,…1, 3, 6, 10, 15, 21, 28, 36, 45, 55, \ldots 下面我们列出前七个三角形数的约数: 1: 1 3: 1,3 6:

Stone Chen的博客 1326

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 739

Project Euler problem 12

就是问前多少项的和的因子个数大于500 输出这个和 最裸的想法就是枚举n,算出前n项和的因子个数 注意算一个数x的因子个数可以在sqrt(x)时间内算出来 但是前n项和是n^2级别的所以。 这样算出来还是 n^2复杂度的。 其实可以进行优化。 由于我们已经知道前n项和是 n * (n + 1) /2 而n和(n + 1)必然有一个偶数 那么前n个数的和必然能表示成

水 738

Jupyter Lab 无法启动 Kernel 问题排查与解决总结

使用 curl,telnet,或 Python websocket-client 库可以本地模拟 WebSocket 握手行为,帮助分析服务端响应状态。避免使用 http:// + ws:// 组合方式部署 Jupyter Lab,特别是在远程或跨域访问场景。建议统一采用 https:// + wss:// 方式部署,确保浏览器信任并兼容。确认 WebSocket 已升级为 wss://,内核可正常启动。但在远程访问时,浏览器出于安全策略,默认拒绝 ws:// 协议。

weixin_43866043的博客 1855

标准化降水指数介绍

Mckee et al.(1993)认为降水量的减少是导致干旱的主要因素,其他气候因子一般变化较小,对干旱产生的影响不大,因此SPI使用降水量作为唯一参数。SPI能较好表达因降水量的大小反映干旱状况,操作简单,所需资料仅为降水量,同时该干旱指数在各个地区和各个时段都具有良好的计算稳定性,是继PDSI之后另一种被广泛应用的干旱指数。𝐻(𝑥)是Γ分布求得的概率,并当𝐻(𝑥)>0.5时,S=1;式中,𝛼是形状参数,𝛽是尺度参数,𝑥是当月降水量,𝛤(𝛼)是Gamma函数,用极大似然估计法计算最佳的𝛼和𝛽,即。

weixin_44259522的博客 2857

ProjectEuler 11,12,13

Project Euler 11 12 13

@fei 1159

f_fs.c 初始化流程(进行中)

前言 之所以选择f_fs.c作为这系列的开始,因为usb在/driver/usb下面的内容实在太多太多,如果讲各种各样点会太分散了。所以决定切入点以实际使用为主,就是f_fs了,目前我了解这是做bulk裸传输使用的,具体的通信协议自己确定。 初始化部分 开始点从这个路径下说起, /drivers/usb/gadget/function/f_fs.c 然后f_fs.c第一个使用的是include/composite.h中的宏定义function #define DECLARE_USB_FUNCTION(_n

weixin_36406973的博客 1966

Project Euler 第12题

The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 21, 2...

Lam Peter's blog 264

在MDK5.37版本中添加Complier Version 5( 解决Missing Compiler Version 5 )

本文章仅作为个人学习记录,方法也是从其他博主的博客中得到的,链接如下:二、Keil——Missing Compiler Version 5 和 core_cm3.c 问题解决 - YI颗白菜 - 博客园 (cnblogs.com) 问题描述 更新最新的keil版本(MDK5.37)后,在编译以前版本的工程文件时,发现出现了非常多的报错,在网上搜索之后发现原来时编译器版本不匹配的问题,即MDK5.37中使用的是Version 6版本的编译器,而缺少Version 5,对于以前编写的工

leveling99的博客 1万+

嵌入式工程师必学(9):USB 3.0协议理解

USB3.0和USB2.0相比,在线缆上从4根线(Vbus、GND、D+、D-)变为了8根线(Vbus、GND、D+、D-、SSRX+\SSRX-\SSTX+\SSTX-),可见增加的4根线都是和超速相关的,新增加的超速有两类,分别为:超速Gen1(5.0Gbps),超速+Gen2(10Gbps),还兼容USB2.0的3类速率:low-speed(1.5Mbps),full-speed(12Mbps),andhigh-speed(480Mbps)。从设计可以看出,USB3....

码农17年的博客 1万+

ProjectEuler 12

求第一个有500个除数因子的三角数,具体题目见原文: The sequence of triangle numbers is generated by adding the natural numbers. So the 7thtriangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would b...

weixin_30906701的博客 269

机器学习实战7-基于机器学习算法预测相亲成功率

大家好,我是微学AI,今天给大家介绍一下机器学习实战7-基于机器学习算法预测相亲成功率,随着社会的发展,大家都忙于事业,对自己的终身大事就耽搁了,相亲是一种传统的寻找伴侣的方式,随着时代的发展,相亲的方式也在不断地改变。在这个过程中,了解相亲双方的信息以及预测相亲是否成功变得越来越重要。本文将介绍如何使用随机森林算法对相亲成功进行预测,通过分析男女双方的房子、车子、长相、家庭条件、父母情况、生活习惯、学历、性格、兴趣等因素,来预测相亲是否成功。

微学AI的博客 3032

Project_Euler-12 题解

欧拉计划12题题解及优化思路

Royi的学习博客 1101

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Project Euler | Problem 12

Problem 12 Highly divisible triangular number The sequence of triangle numbers is generated by adding the natural numbers. So the7thtriangle number would be1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 21, 28, 36, 4...

weixin_62862113的博客 462

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

project Euler 12

时间是216ms import java.util.Date; /** * Created by Administrator on 2015/5/11. */ public class E12 { //计算低x个三角形数 public static int computeTri(int x) { int sum=0;

liuboman的博客 620

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Project Euler:Problem 12 Highly divisible triangular number

The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 21, 28,

312小公举的专栏 739

Project Euler Problem 91-100

Problem 91 Right triangles with integer coordinates 格点直角三角形 点P(x1, y1)和点Q(x2, y2)都是格点,并与原点O(0,0)构成ΔOPQ。 当点P和点Q的所有坐标都在0到2之间,也就是说0 ≤ x1, y1, x2, y2 ≤ 2时,恰好能构造出14个直角三角形。 如果0 ≤ x1, y1, x2, y2

柯安的专栏 1100

project euler 12

Problem 12 Highly divisible triangular number The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.

whuawell的博客 463

Python Project Euler 012:500个约数的三角形数

Problem 12 The sequence of triangle numbers is generated by adding the natural numbers. So the 7thtriangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10,...

weixin_30832983的博客 161

与Project Euler的速度比较:C vs Python vs Erlang vs Haskell

I have taken Problem #12 from Project Euler as a programming exercise and to compare my (surely not

CHCH998的博客 434

Python练习题 040:Project Euler 012:有超过500个因子的三角形数

本题来自 Project Euler 第12题:https://projecteuler.net/problem=12 # Project Euler: Problem 12: Highly divisible triangular number # The sequence of triangle numbers is generated by adding the natural nu...

weixin_30849403的博客 259

Project Euler p12 - Highly divisible triangular number

  http://projecteuler.net/problem=12   求因数个数大于500的数, 关键在于下面两个隐藏的条件 triangle(i)=i*(i+1)/2 divisors(a*b)=divisors(a)*divisors(b)   countDivisors 其实它还可以优化成递归求解, 而不是一个个去数, 不过量不大, 就算了.   76576...

hongzzx的专栏 186

projecteuler_problem12

problem12 地址:https://projecteuler.net/problem=12。 源码:git@code.aliyun.com:qianlizhixing12/ProjectEuler.git。问题:1 + 2 + 3 + ...的和中第一个有超过500个因数。 #include <stdio.h> #include...

weixin_34037173的博客 175

Project Euler 012 Highly divisible triangular number

题意:求第一个满足约数个数>500>500个的三角形数。 分析:考虑第nn个三角形数是n(n+1)2\frac{n(n+1)}{2},而nn和n+1n+1互质,因此有 d(n(n+1)2)=⎧⎩⎨⎪⎪⎪⎪d(n2)⋅d(n+1),n为偶数d(n)⋅d(n+12),n为偶数d\left(\frac{n(n+1)}{2}\right)= \left\{\begin{matrix} d(\frac{n

qq_20118433的专栏 419

Project Euler 11-15题

话说刚刚才注意到Project Euler的提交时间记录的是UTC 第11题 题目来源ProjectEuler这一题与第8题类似,不过这个求的是八个方向上的最值。虽然这个也可以有类似移动窗口的做法,但是考虑到长度只有四,O(n∗len∗direction)O(n*len*direction)的复杂度也不高,而移动窗口的代码复杂度会高很多。所以选择了裸暴力的做法。 (期间因为cal函数没有ret

PFCC的博客 648
上一篇: 求能被1.2.3……20整除的最小的正整数
下一篇: Project Ruler 13 给你100个50位数,求它们和的前十位
luobin554
博客等级 码龄16年 6粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值