1、蛇形三角填数
https://blog.youkuaiyun.com/bbhhtt/article/details/76177644?from=singlemessage
2、蛇形填数
#include <stdio.h>
int main()
{
int i,j,n;
int a[100][100];
scanf("%d",&n);
i=0;
j=n-1;
int num;
num=1;
memset(a,0,sizeof(a));
a[i][j]=1;
while(num<n*n)
{
while(i+1<n&&!a[i+1][j]) a[++i][j]=++num;//向下
while(j-1>=0&&!a[i][j-1]) a[i][–j]=++num;//向左
while(i-1>=0&&!a[i-1][j]) a[–i][j]=++num;//向上
while(j+1<n&&!a[i][j+1]) a[i][++j]=++num;//向右
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}
3、蛇形矩阵规律题目
http://www.dotcpp.com/oj/problem1097.html
#include
#include
using namespace std;
int a[105],b[105];
int main()
{
a[0]=1;
int f=2;
for(int i=1;i<105;i++)
{
a[i]=a[i-1]+f;
f++;
}
for(int i=1;i<=105;i++)
{
b[i]=i+1;
}
int n;
cin>>n;
int k=n,sum=0,t;
for(int i=0;i<n;i++)
{
sum=0;
int flag=0;
for(int j=i+1;j<n;j++)
{
if(flag0&&i0)
{
cout<<a[i]<<" “;
sum=a[i];
t=a[i];
flag=1;
}else if(i!=0&&flag==0)
{
t=t+i;
sum=t;
cout<<sum<<” “;
flag=1;
}
sum=sum+b[j];
cout<<sum<<” ";
}
if(i!=n-1)
cout<<endl;
}
//getchar();
cout<<t+n-1<<endl;
}
11-19