`
to_zoe_yang
  • 浏览: 143385 次
  • 性别: Icon_minigender_2
  • 来自: 01
社区版块
存档分类
最新评论

Problem 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, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?


思路:
以28为例子,
28的因子为1,2,4,7,14,28
28的质因子为2和7
28=2^2*7
2出现了两次
7出现了依次
根据排列组合
28的因子个数为(2+1)*(1+1)

任意数N,其质因子为a1,a2,...,an
其所有的因子都可以表示为a1^b1 * a2^b2 * ... *an^bn

实现:

public static int count_divisors(long number) {
		int count = 0;
		//先找到因子和因子的最高次方
		int[] divisors = new int[500];
		int index = 0;
		int divis = 3;
		Arrays.fill(divisors, 0);
		if(number%2==0){
			do{
				number=number/2;
				count++;
			}while(number%2==0);
			divisors[index] = count;
			index++;
		}
		while(number>1){
			count = 0;
			while(number%divis==0){
					number = number/divis;
					count++;
			}
			if(count!=0){
				divisors[index] = count;
				index++;				
			}
			divis+=2;
		}
		count = 1;
		for(int i=0; divisors[i]>0;i++){
		
			count*=(divisors[i]+1);
		}
		
		return count;
	}
	
	public static int find_number(){
		int number = 28;
		int count = 6;
		int step = 8;
		while(count<500){
			number = number + step;
			step++;
			count = count_divisors(number);
			
		}
		return number;
	}

分享到:
评论

相关推荐

    单峰测试函数:Axis、Quadric、Rosenbrock、SchwefelProblem12、SchwefelProblem22、SumSquar、Step

    类似于Schwefel's Problem 12,Schwefel's Problem 22也是Schwefel函数系列的一部分,用于评估优化算法在处理复杂多峰函数时的表现。它的最小值可能分布在不同的区域,挑战算法的全局探索能力。 6. **SumSquar(和...

    爱立信CSR数据采集规范

    12. DTI problem 8 13. Group Switch problem 8 14. IN problem 9 15. ONE WAY SPEECH 9 16. CALL WAITING 9 17. Location Update problem 10 18. Cannot make/receive call, send/receive SMS 10 19. CP Overload ...

    Computer-Based.Problem.Solving.Process

    Chapter 12. Computation Activity and Its Management Tools Part 4 Software Tools Supporting Program Development Chapter 13. Problem Solving by Software Tools Chapter 14. Web-Based Problem Solving ...

    Problem Solving with C++, 10th Global Edition

    Problem Solving with C++, Global Edition by Walter Savitch (author) (Author) Pages:1117 出版社: Pearson Education Limited; 10th edition edition (November 20, 2017) Language: English ISBN-10: ...

    Wicked Problem

    ### Wicked Problem与Wicked Environmental Problem #### 一、引言 "Wicked Problem"(棘手问题)这一概念最初由霍恩(Horst Rittel)和韦伯(Melvin Webber)于1973年提出,指的是那些复杂且难以解决的问题。这类...

    node-problem-detector-0.8.7.tar

    node-problem-detector 镜像包 v0.8.7 版本

    MCM 2012 problem A B C 论文

    MCM 2012年 problem A problem B problem C 枪手论文

    MySQL数据库考试试题.docx

    12. 事务处理命令:COMMIT 语句(Problem 12) COMMIT 语句用于将事务处理写到数据库中。 13. 条件语句:WHERE 子句(Problem 13) WHERE 子句用于指定 SELECT 语句的条件,以便仅检索满足条件的数据。 14. 主键...

    Problem Arrangement zoj 3777

    Problem Arrangement zoj 3777

    problem

    标题 "problem" 提供的信息较少,但从描述中的 "NULL 博文链接:https://eric0000.iteye.com/blog/322311" 可以推测,这可能是一个关于解决某个问题或者技术讨论的博客文章链接。由于没有具体的博文内容,我们无法...

    Problem Solving with C++(9th) 无水印pdf

    Problem Solving with C++(9th) 英文无水印pdf 第9版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...

    台大机器学习作业六1

    **Problem 12**:介绍了逐步增强法(Boosting),特别是AdaBoost算法,这是一种集成学习方法,通过迭代和加权训练弱分类器,构建强分类器。 这些题目覆盖了机器学习中的基础概念,包括优化、核方法、概率统计、...

    算法设计taxi problem

    算法设计里关于taxi problem的C语言代码

    Problem_C_Data.zip

    "Problem_C_Data.zip" 是一个压缩包文件,包含2020年美国数学建模竞赛(简称美赛)C题的题目及相应的原始数据。美赛是一项国际性的数学建模竞赛,每年吸引众多学生参与,旨在提升参赛者的数学、数据分析和解决实际...

    euler project.r.zip_R Euler project_project

    12. **Problem 12: 三角形数的倍数** - 知识点:三角形数计算,循环结构,计数。 - 解决方法:计算三角形数,直到找到第一个有超过500个因数的数。 13. **Problem 13: 大数显示** - 知识点:大数处理,字符串...

    master page search problem

    在这个特定的问题“master page search problem”中,我们可能遇到的是在使用Master Page时搜索功能出现的问题。ViewData是ASP.NET MVC框架中的一个特性,用于在控制器和视图之间传递数据,而JavaScript则是客户端...

    Problem 1002

    HDOJ Problem 1001 C++版

    machine problem

    在操作系统课程中,"机器问题"(Machine Problem)通常指的是与计算机硬件、系统架构以及操作系统内核相关的复杂问题。这些问题涉及到资源管理、并发控制、进程调度、内存分配等多个核心概念,是理解操作系统工作...

    flow shop problem GA算法

    flow shop problem GA算法 详细代码标注

    《Approaching (Almost) Any Machine Learning Problem》

    Approaching (Almost) Any Machine Learning Problem是一本旨在帮助读者掌握机器学习问题解决方法的书籍。这本书涵盖了机器学习的基本概念、模型选择、数据预处理、特征工程、模型评估等多方面的知识点。 机器学习...

Global site tag (gtag.js) - Google Analytics