问题描述:
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;
}
分享到:
相关推荐
类似于Schwefel's Problem 12,Schwefel's Problem 22也是Schwefel函数系列的一部分,用于评估优化算法在处理复杂多峰函数时的表现。它的最小值可能分布在不同的区域,挑战算法的全局探索能力。 6. **SumSquar(和...
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 ...
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++, 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 Environmental Problem #### 一、引言 "Wicked Problem"(棘手问题)这一概念最初由霍恩(Horst Rittel)和韦伯(Melvin Webber)于1973年提出,指的是那些复杂且难以解决的问题。这类...
node-problem-detector 镜像包 v0.8.7 版本
MCM 2012年 problem A problem B problem C 枪手论文
12. 事务处理命令:COMMIT 语句(Problem 12) COMMIT 语句用于将事务处理写到数据库中。 13. 条件语句:WHERE 子句(Problem 13) WHERE 子句用于指定 SELECT 语句的条件,以便仅检索满足条件的数据。 14. 主键...
Problem Arrangement zoj 3777
标题 "problem" 提供的信息较少,但从描述中的 "NULL 博文链接:https://eric0000.iteye.com/blog/322311" 可以推测,这可能是一个关于解决某个问题或者技术讨论的博客文章链接。由于没有具体的博文内容,我们无法...
Problem Solving with C++(9th) 英文无水印pdf 第9版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...
**Problem 12**:介绍了逐步增强法(Boosting),特别是AdaBoost算法,这是一种集成学习方法,通过迭代和加权训练弱分类器,构建强分类器。 这些题目覆盖了机器学习中的基础概念,包括优化、核方法、概率统计、...
算法设计里关于taxi problem的C语言代码
"Problem_C_Data.zip" 是一个压缩包文件,包含2020年美国数学建模竞赛(简称美赛)C题的题目及相应的原始数据。美赛是一项国际性的数学建模竞赛,每年吸引众多学生参与,旨在提升参赛者的数学、数据分析和解决实际...
12. **Problem 12: 三角形数的倍数** - 知识点:三角形数计算,循环结构,计数。 - 解决方法:计算三角形数,直到找到第一个有超过500个因数的数。 13. **Problem 13: 大数显示** - 知识点:大数处理,字符串...
在这个特定的问题“master page search problem”中,我们可能遇到的是在使用Master Page时搜索功能出现的问题。ViewData是ASP.NET MVC框架中的一个特性,用于在控制器和视图之间传递数据,而JavaScript则是客户端...
HDOJ Problem 1001 C++版
在操作系统课程中,"机器问题"(Machine Problem)通常指的是与计算机硬件、系统架构以及操作系统内核相关的复杂问题。这些问题涉及到资源管理、并发控制、进程调度、内存分配等多个核心概念,是理解操作系统工作...
flow shop problem GA算法 详细代码标注
Approaching (Almost) Any Machine Learning Problem是一本旨在帮助读者掌握机器学习问题解决方法的书籍。这本书涵盖了机器学习的基本概念、模型选择、数据预处理、特征工程、模型评估等多方面的知识点。 机器学习...