解题思路:
13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181
注意到当输入的数n为奇数的时候,最中间的数为n的平方,然后用它减去(n-1)/2个2就可以得到第一个数157
然后依次加2输出;
12*12*12=1728=133+135+137+139+141+143+145+147+149+151+153+155
注意到当输入的数n为偶数的时候,求其第一个数,需要用n*n减去1再减去(n/2)-1个2就可以得到第一个数133
然后依次加2输出;
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
if(n%2==0){//为偶数
System.out.print(n+"*"+n+"*"+n+"="+(n*n*n)+"=");
for(int i=1;i<=n;i++){
if(i!=n)//去掉尾部的+号
System.out.print((n*n-1-2*(n/2-1)+2*i-2)+"+");//自己写
else
System.out.print((n*n-1-2*(n/2-1)+2*i-2));}}
else//为奇数
{
System.out.print(n+"*"+n+"*"+n+"="+(n*n*n)+"=");
for(int i=1;i<=n;i++){
if(i!=n)
System.out.print(n*n-2*(n-1)/2+i*2-2+"+");
else
System.out.print(n*n-2*(n-1)/2+i*2-2);
}
}
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复