小吖白又白


私信TA

用户名:H1810819128

访问量:42931

签 名:

时而理性,时而感性,无药可救

等  级
排  名 52
经  验 10949
参赛次数 4
文章发表 77
年  龄 0
在职情况 学生
学  校 贺州学院
专  业 CS

  自我简介:

菜鸡

解题思路:


先观察给出的样例,若为奇数,则中间的数为m^2,

若为偶数,则中间两个数为m^2-1,m^2+1。

然后中间数两边对称的数相加等于2*m^2,所以定理成立。

再观察,无论输入的是奇数还是偶数,输出的第一个数都是

m^2-m+1,所以再从第一个数开始,每个数+2,

加m-1次,再输出就行了。


注意事项:


最后一个数后面不能有空格,否则判错。

刚开始我是这样写的,虽然说跟结果看上去一样,但因为最后有一个空格,就判错了。

#include<stdio.h>
int main()
{
	int m,n,i;
	scanf("%d",&m);
	printf("%d*%d*%d=%d=",m,m,m,m*m*m);
	for(i=0;i<m*2;i+=2)
	{
		n=m*m-m+1+i;			
		printf("%d+",n);
	}
	printf("\b ");	
	return 0;
 }

参考代码:

#include<stdio.h>
int main()
{
	int m,n,i;
	scanf("%d",&m);
	printf("%d*%d*%d=%d=",m,m,m,m*m*m);
	for(i=0;i<m*2-2;i+=2)
	{
		n=m*m-m+1+i;			
		printf("%d+",n);
	}
	printf("%d",m*m+m-1);	
	return 0;
 }


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区