尼科彻斯定理-C语言/Java

描述

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。(1≤m≤100)

输入描述

输入一个int整数

输出描述

输出分解后的string

示例

输入:6

输出:31+33+35+37+39+41

方法1:常规思路,直接计算

C语言

#include <stdio.h>

int main() {

int m;

scanf("%d",&m);

if(m==1)

{

printf("1");

return 0;

}

int i=3;

//用while来找m个奇数相加的第一个奇数

while (1) {

int sum=0,count=0;

//求m个奇数的和

for(int j=i;count!=m;j+=2)

{

sum+=j;

count++;

}

//如果不满足条件,i的值为后一个奇数

if(sum!=m*m*m)

i+=2;

else

break;

}

for(int j=0;j<m;j++)

{

if(j==m-1)

printf("%d",i+2*j);

else

printf("%d+",i+2*j);

}

return 0;

}

Java

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int m=in.nextInt();

if(m==1)

{

System.out.printf("1");

return ;

}

int i=3;

//用while来找m个奇数相加的第一个奇数

while (true) {

int sum=0,count=0;

for(int j=i;count!=m;j+=2)

{

sum+=j;

count++;

}

//如果不满足条件,i的值为后一个奇数

if(sum!=m*m*m)

i+=2;

else

break;

}

for(int j=0;j<m;j++)

{

if(j==m-1)

System.out.printf("%d",i+2*j);

else

System.out.printf("%d+",i+2*j);

}

}

}

方法2:找规律,找到首个相加的奇数和输入的数之间的关系。

C语言

#include <stdio.h>

int main() {

int m;

scanf("%d",&m);

int i=m*m-m+1;

for(int j=0;j<m;j++)

{

if(j==m-1)

printf("%d",i+2*j);

else

printf("%d+",i+2*j);

}

return 0;

}

Java

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int m=in.nextInt();

int i=m*m-m+1;

for(int j=0;j<m;j++)

{

if(j==m-1)

System.out.printf("%d",i+2*j);

else

System.out.printf("%d+",i+2*j);

}

}

}

相关推荐
架构师沉默1 分钟前
Java 终于有自己的 AI Agent 框架了?
java·后端·架构
程序员爱酸奶2 分钟前
ThreadLocal内存泄漏深度解析
java
机器学习之心6 分钟前
PSO-LightGBM-ABKDE粒子群算法优化轻量级梯度提升机自适应带宽核密度估计多变量回归区间预测Matlab实现
算法·matlab·回归·abkde·自适应带宽核密度估计·pso-lightgbm·粒子群算法优化轻量级梯度提升机
czlczl2002092511 分钟前
JVM创建对象过程
java·开发语言
qq_4160187221 分钟前
分布式缓存一致性
开发语言·c++·算法
SuperEugene25 分钟前
Vue Router 实战规范:path/name/meta 配置 + 动态 / 嵌套路由,统一团队标准|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·前端框架
CoovallyAIHub25 分钟前
多 Agent 手术推理框架:Agent 辩论+RAG 补上手术知识,零样本超越监督基线 14.6 个百分点
算法·架构·机器人
干啥啥不行,秃头第一名29 分钟前
STL容器内部实现剖析
开发语言·c++·算法
一直都在57229 分钟前
线程间的通信
java·jvm
Zarek枫煜29 分钟前
zig与c3的冒泡排序算法
算法