http://projecteuler.net/problem=12
求因数个数大于500的数, 关键在于下面两个隐藏的条件
triangle(i)=i*(i+1)/2
divisors(a*b)=divisors(a)*divisors(b)
countDivisors 其实它还可以优化成递归求解, 而不是一个个去数, 不过量不大, 就算了.
76576500 576
23 ms
@Test public void t1() { int d; for (int i = 7; i < Integer.MAX_VALUE; i++) { if (i % 2 == 0) d = countDivisors(i / 2) * countDivisors(i + 1); else d = countDivisors(i) * countDivisors((i + 1) / 2); if (d >= 500) { System.out.println(i * (i + 1) / 2 + " " + d); return; } } } private int countDivisors(int n) { int c = 1; double sqrt = Math.sqrt(n); for (int i = 2; i <= sqrt; i++) { if (n % i == 0) { c += 2; if (i == sqrt) c--; } } return c+1; }
相关推荐
华为欧拉系统 EulerOS-V2.0SP5-x86_64-dvd文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: EulerOS-V2.0SP5-x86_64-dvd.part5.rar ... EulerOS-V2.0SP5-x86_64-dvd.part4.rar ...
华为欧拉系统 EulerOS-V2.0SP5-x86_64-dvd文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: EulerOS-V2.0SP5-x86_64-dvd.part5.rar ... EulerOS-V2.0SP5-x86_64-dvd.part4.rar ...
【标题】"ProjectEuler1-16代码"所涉及的知识点主要集中在计算机编程和算法设计上,尤其针对初学者和编程爱好者。Project Euler是一个在线平台,它提供了一系列的数学和计算机科学问题,旨在通过解决这些问题来提升...
华为欧拉系统 EulerOS-V2.0SP5-x86_64-dvd文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: EulerOS-V2.0SP5-x86_64-dvd.part5.rar ... EulerOS-V2.0SP5-x86_64-dvd.part4.rar ...
华为欧拉系统 EulerOS-V2.0SP5-x86_64-dvd文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: EulerOS-V2.0SP5-x86_64-dvd.part5.rar ... EulerOS-V2.0SP5-x86_64-dvd.part4.rar ...
华为欧拉系统 EulerOS-V2.0SP5-x86_64-dvd文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: EulerOS-V2.0SP5-x86_64-dvd.part5.rar ... EulerOS-V2.0SP5-x86_64-dvd.part4.rar ...
openEuler RISC-V 版本计划是openEuler社区的一个重要组成部分,旨在为RISC-V架构提供长期支持,包括openEuler 20.03 LTS、openEuler 20.09、openEuler 21.03 内核创新版、openEuler 21.09创新版等。 openEuler ...
基于openEuler20.03TLS版本编译openGauss源码时需要的软件包: 1. openeuler-lsb-5.0-1.oe2203.src.rpm 2. git-lfs-linux-arm64-v3.3.0.tar.gz 3. flex-2.5.39.tar.bz2
openEuler-competition/National-Innovation-2021openEuler-competition/National-Innovation-2021openEuler-competition/National-Innovation-2021openEuler-competition/National-Innovation-2021openEuler-...
欧拉数(Euler Number)是数学中一个重要的常数,以其发现者莱昂哈德·欧拉(Leonhard Euler)的名字命名。欧拉数通常表示为'e',其数值约等于2.71828,是一个无理数且超越数。在数学的多个分支中,欧拉数都有广泛的...
openEuler-22.03-LTS-SP2-netinst-x86_64-dvd.iso 适用于x86_64平台服务器
"project-euler-源码.rar" 是一个包含Project Euler问题解决源代码的压缩文件。Project Euler是一个著名的在线数学和计算机科学挑战平台,旨在通过解决一系列具有挑战性的问题来提高编程技巧和数学理解。这些问题...
openEuler intel-kernel是专为增强和优化基于Intel硬件平台的openEuler操作系统设计的一个核心组件。这个项目的主要目标是确保在下一代Intel平台上,openEuler能够充分利用新硬件的功能,提供高效、稳定且安全的运行...
"projecteuler--:(也许)更好的项目欧拉"是一个可能指向Project Euler的优化解决方案集。Project Euler是一个在线平台,提供了许多数学和计算机科学相关的挑战问题,旨在通过这些问题来提高编程技能并解决复杂的...
openEuler-22.03-LTS-SP3-netinst-aarch64-dvd.iso
openEuler 22.03(openEuler-22.03-LTS-SP3-x86-64-dvd.iso)适用于Linux x86-64系统,文件使用360压缩软件分割成4个压缩包,必须一起下载使用: part1: ...
openEuler-20.03-LTS-SP2-x86_64-dvd支持鲲鹏及其它多种处理器,文件分割成 5个 压缩包,必须集齐5个 文件后才能一起解压一起使用: openEuler-20.03-LTS-SP2-x86_64-dvd.part5.rar ... openEuler-20.03-LTS-SP2-x86_...
openEuler-20.03-LTS-SP2-x86_64-dvd支持鲲鹏及其它多种处理器,文件分割成 5个 压缩包,必须集齐5个 文件后才能一起解压一起使用: openEuler-20.03-LTS-SP2-x86_64-dvd.part5.rar ... openEuler-20.03-LTS-SP2-x86_...
ProjectEuler ProjectEuler进度-不存在答案 答案是在构造对象时计算的 应该能够运行任何问题文件以获得答案。 解决方案在运行时方面可能不是理想的解决方案,但是所有解决方案都在1分钟的指导原则之内。
openEuler 22.03(openEuler-22.03-LTS-SP3-x86-64-dvd.iso)适用于Linux x86-64系统,文件使用360压缩软件分割成4个压缩包,必须一起下载使用: part1: ...