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

}

}

}

相关推荐
Boilermaker19921 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
独自破碎E2 小时前
【二分法】寻找峰值
算法
꧁Q༒ོγ꧂2 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs2 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_992 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子2 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34162 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
mit6.8242 小时前
位运算|拆分贪心
算法