同步操作将从 编程语言算法集/Java 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package ProjectEuler;/*** 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:** <p>1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...** <p>Let us list the factors of the first seven triangle numbers:** <p>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.** <p>What is the value of the first triangle number to have over five hundred divisors?** <p>link: https://projecteuler.net/problem=12*/public class Problem12 {/** Driver Code */public static void main(String[] args) {assert solution1(500) == 76576500;}/* returns the nth triangle number; that is, the sum of all the natural numbers less than, or equal to, n */public static int triangleNumber(int n) {int sum = 0;for (int i = 0; i <= n; i++) sum += i;return sum;}public static int solution1(int number) {int j = 0; // j represents the jth triangle numberint n = 0; // n represents the triangle number corresponding to jint numberOfDivisors = 0; // number of divisors for triangle number nwhile (numberOfDivisors <= number) {// resets numberOfDivisors because it's now checking a new triangle number// and also sets n to be the next triangle numbernumberOfDivisors = 0;j++;n = triangleNumber(j);// for every number from 1 to the square root of this triangle number,// count the number of divisorsfor (int i = 1; i <= Math.sqrt(n); i++) if (n % i == 0) numberOfDivisors++;// 1 to the square root of the number holds exactly half of the divisors// so multiply it by 2 to include the other corresponding halfnumberOfDivisors *= 2;}return n;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。