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

}

}

}

相关推荐
purrrew1 小时前
【Java ee初阶】jvm(3)
java·jvm
Hello World......2 小时前
互联网大厂Java面试:从Spring到微服务的全面探讨
java·spring boot·spring cloud·微服务·面试·技术栈·互联网大厂
拾贰_C3 小时前
【SpringBoot】MyBatisPlus(MP | 分页查询操作
java·spring boot·后端·spring·maven·apache·intellij-idea
猛踹瘸子那条好腿の3 小时前
Spring-boot初次使用
java·springboot
远瞻。3 小时前
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理2
论文阅读·算法
shykevin5 小时前
python开发Streamable HTTP MCP应用
开发语言·网络·python·网络协议·http
我不是程序猿儿5 小时前
【C#】 lock 关键字
java·开发语言·c#
漫路在线5 小时前
JS逆向-某易云音乐下载器
开发语言·javascript·爬虫·python
先做个垃圾出来………6 小时前
哈夫曼树(Huffman Tree)
数据结构·算法
小辉懂编程6 小时前
C语言:51单片机实现数码管依次循环显示【1~F】课堂练习
c语言·开发语言·51单片机