网站建设中源码编程同样重要,做信公众号首图的网站,建设手机网站价格,专业装修设计网站描述 验证尼科彻斯定理#xff0c;即#xff1a;任何一个整数m的立方都可以写成m个连续奇数之和。 例如#xff1a; 1^31 2^335 3^37911 4^313151719 输入一个正整数m#xff08;m≤100#xff09;#xff0c;将m的立方写成m个连续奇数之和的形式输出。即任何一个整数m的立方都可以写成m个连续奇数之和。 例如 1^31 2^335 3^37911 4^313151719 输入一个正整数mm≤100将m的立方写成m个连续奇数之和的形式输出。1≤m≤100
输入描述 输入一个int整数
输出描述 输出分解后的string
示例 输入6 输出313335373941 方法1常规思路直接计算 C语言 #include stdio.h int main() { int m; scanf(%d,m); if(m1) { printf(1); return 0; } int i3; //用while来找m个奇数相加的第一个奇数 while (1) { int sum0,count0; //求m个奇数的和 for(int ji;count!m;j2) { sumj; count; } //如果不满足条件i的值为后一个奇数 if(sum!m*m*m) i2; else break; } for(int j0;jm;j) { if(jm-1) printf(%d,i2*j); else printf(%d,i2*j); } return 0; } Java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in new Scanner(System.in); int min.nextInt(); if(m1) { System.out.printf(1); return ; } int i3; //用while来找m个奇数相加的第一个奇数 while (true) { int sum0,count0; for(int ji;count!m;j2) { sumj; count; } //如果不满足条件i的值为后一个奇数 if(sum!m*m*m) i2; else break; } for(int j0;jm;j) { if(jm-1) System.out.printf(%d,i2*j); else System.out.printf(%d,i2*j); } } } 方法2找规律找到首个相加的奇数和输入的数之间的关系。 C语言 #include stdio.h int main() { int m; scanf(%d,m); int im*m-m1; for(int j0;jm;j) { if(jm-1) printf(%d,i2*j); else printf(%d,i2*j); } return 0; } Java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in new Scanner(System.in); int min.nextInt(); int im*m-m1; for(int j0;jm;j) { if(jm-1) System.out.printf(%d,i2*j); else System.out.printf(%d,i2*j); } } }