1. 尼科彻斯定理
题目描述
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
接口说明
原型:
/*
功能: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
原型:
int GetSequeOddNum(int m,char * pcSequeOddNum);输入参数:
int m:整数(取值范围:1~100)返回值:
m个连续奇数(格式:“7+9+11”);*/
public String GetSequeOddNum(int m)
{
/*在这里实现功能*/
return null;
}
输入描述:
输入一个int整数
输出描述:
输出分解后的string
示例1
输入
6
输出
31+33+35+37+39+41
import java.util.Scanner;
public class Main{
//主要是找规律,找出通项公式:n*(n-1)+1
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int begin=n*(n-1)+1;
for(int i=0;i<n-1;i++){
System.out.print(begin+"+");
begin=begin+2;
}
System.out.println(begin);
}
}
}
2.等差数列
题目描述
功能:等差数列 2,5,8,11,14。。。。
输入:正整数N >0
输出:求等差数列前N项和
返回:转换成功返回 0 ,非法输入与异常返回-1
输入描述:
输入一个正整数。
输出描述:
输出一个相加后的整数。
示例1
输入
2
输出
7
import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int sum=2*n+3*n*(n-1)/2;
if(n<1){
System.out.println(-1);
}else{
System.out.println(sum);
}
}
}
}
b. 算法2:逐个相加
import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int n=scanner.nextInt();
int sum=0;
for(int i=0;i<n;i++){
sum+=3*i+2;
}
System.out.println(sum);
}
}
}