先知道最小差值的x,y,然后判断右下左上这样一个循环,最后按照循环圈赋值,最后输出
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
int N=0;
scanf("%d",&N);
int a[N],cha=N,x=0,y=0;
for(int i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
qsort(a,N,sizeof(int),cmp);
for(int i=1;i<=N;i++)
{
for(int j=1;j<=i;j++)
{
if(i*j==N&&i-j<cha)
{
cha=i-j;
x=i;
y=