华为OJ之尼科彻斯定理
2024-09-26 08:11:22
题目详情:
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
输入:一个整形数字
输出:分解后的string
示例输入:6
示例输出:31+33+35+37+39+41
题目分析:
本题实质上是一个数学定理,我们暂且来用数学知识来验证其正确性:
1, 对于任一正整数n > 0,不论n是奇数还是偶数,整数(n*n-n+1)必然为奇数。
2, 构造一个等差数列,其中首项为(a×a-a+1),差值为2,则前n项的和为:
a*((n*n-n+1))+2*n(n-1)/2 = n^3;
故定理成立。
则题目便转化为特定数字序列的输出问题了。
代码实现(Java实现):
import java.util.Scanner; public class NichestPrinciple { public static void main(String[] args) { System.out.println(verifyNichest(getInput())); } public static int getInput() { @SuppressWarnings("resource") Scanner reader = new Scanner(System.in); return reader.nextInt(); } public static String verifyNichest(int n) { StringBuffer sBuffer = new StringBuffer(); for (int i = 0; i < n; i ++) { sBuffer.append(String.valueOf((n * n - n + 1 + 2 * i))); if (i != n - 1) { sBuffer.append("+"); } } return sBuffer.toString(); } }
最新文章
- SQL Server-聚焦聚集索引对非聚集索引的影响(四)
- AutoHotKey实现将站点添加到IE的Intranet本地站点
- 视觉机器学习读书笔记--------SVM方法
- java枚举使用详解
- C#不安全代码和Fixed
- SSH项目中,解决中文请求参数乱码,Filter过滤器不起作用的问题
- BSP模型
- Using HttpClient properly to avoid CLOSE_WAIT TCP connections
- Find all factorial numbers less than or equal to N
- springMVC中使用POI方式导出excel至客户端、服务器实例
- JEECG BOOT
- java_集合类_简
- IntelliJ IDEA如何设置新建类时,自动注释作者信息和日期时间
- Install KVM Hypervisor on arrch64 Linux Server
- Android studio 启动模拟器出现 VT-x is disabled in BIOS 以及 /dev/kvm is not found
- python-requests-proxies判断学习
- 浏览器唤起APP的功能
- matplotlib 雷达图2
- STL标准库-容器适配器
- c# 计算星座
热门文章
- .net 利用Emit将object转为DbParameter,DataTable转为List<;>;
- 关于ASP.NET WebForm与ASP.NET MVC的比较
- HTML5之2D物理引擎 Box2D for javascript Games 系列 第三部分之创建图腾破坏者的关卡
- hibernate操作步骤(代码部分)
- thinkphp中find()和select()的区别
- 批量自动更新SVN版本库 - Windows
- TCP札记
- PHP加密字符串函数(Discuz内置的)
- 【Android Developers Training】 48. 轻松拍摄照片
- 9.如何解决出现AXIOS的Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.