puking


私信TA

用户名:puking

访问量:13016

签 名:

等  级
排  名 413
经  验 3457
参赛次数 0
文章发表 20
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

将一个数的立方拆成n个n*n。

若n为偶数则n*n-1开始连续减少的n/2个奇数和n*n+1开始增加的n/2个奇数;

若n为奇数则n*n开始连续减少的n/2个奇数和n*n开始增加的n/2个奇数。

注意事项:





参考代码:

#include <stdio.h>

int main()

{

int n,i,a[1024];

scanf("%d",&n);

if(n%2==0){

int min=n*n-1,max=n*n+1;

for(i=n/2-1;i>=0;i--){

a[i]=min+2*(i-n/2+1);

}

for(i=n/2;i<n;i++){

a[i]=max+2*(i-n/2);

}

}

else{

int mid=n*n;

for(i=n/2;i>=0;i--){

a[i]=mid+2*(i-n/2);

}

for(i=n/2;i<n;i++){

a[i]=mid+2*(i-n/2);

}

}

printf("%d*%d*%d=%d=",n,n,n,n*n*n);

for(i=0;i<n-1;i++)

printf("%d+",a[i]);

printf("%d",a[n-1]);

return 0;

}


 

0.0分

0 人评分

  评论区