尼科彻斯定理-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);

}

}

}

相关推荐
q***252112 小时前
SpringMVC 请求参数接收
前端·javascript·算法
wasp52012 小时前
做了技术管理后,我发现技术和管理其实可以兼得
java·运维·网络
MarkHD12 小时前
车辆TBOX科普 第45次
java·开发语言
数模加油站12 小时前
25认证杯C题成品论文第一弹【冲奖硬核+无盲点解析】
算法·数学建模·认证杯·25认证杯
还债大湿兄12 小时前
阿里通义千问调用图像大模型生成轮动漫风格 python调用
开发语言·前端·python
okseekw12 小时前
字面量的初步认识
java
MobotStone12 小时前
数字沟通之道
人工智能·算法
点云SLAM12 小时前
Boost库中Math 模块的插值(interpolation使用和示例
算法·插值·boost库·b-spline·akima 样条·单调三次样条·barycentric 插值
鸭子程序员12 小时前
c++ 算法
开发语言·c++·算法
Ghost-Face12 小时前
《逆袭导论》————初中生的宝书
算法