`
zxd543
  • 浏览: 3329 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙
社区版块
存档分类
最新评论

C++回型数

    博客分类:
  • C++
 
阅读更多
#include<iostream>
using namespace std;
#define max 100
int flag[max][max];
void init()
{
int i,j;
for(i=0;i<max;i++)
for(j=0;j<max;j++)
flag[i][j]=0;

}
void func(int n,int inc)
{
int i,j;
int x,y,k;
int k1,k2,k3,k4;
for(k1=0,k2=0,k3=0,k4=0;i<n&&j<n;k3++,k2++,k1++,k4++)
{
//cout<<k1<<" "<<k2<<" "<<k3<<" "<<endl;
i=k3,j=k2,x=k1,y=k4;
        //cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
     for(;i<n;i++)
{
if(flag[x][i]==0)
{
inc++;
flag[x][i]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
//cout<<"inc1:"<<inc<<endl;
for(k=i-1;j<n;j++)
{
if(flag[j][k]==0)
{
inc++;
flag[j][k]=inc;
}
}
//cout<<"i:"<<i<<"j:"<<j<<"y:"<<y<<endl;
// cout<<"inc2:"<<inc<<endl;
for(i=n-1,x=j-1;i>=0;i--)
{
if(flag[x][i]==0)
{
inc++;
flag[x][i]=inc;
}
}
    //cout<<"i:"<<i<<"j:"<<j<<"x:"<<x<<endl;
// cout<<"inc3:"<<inc<<endl;
for(j=n-1;j>=0;j--)
{
if(flag[j][y]==0)
{
inc++;
flag[j][y]=inc;
}
}
    //cout<<"i:"<<i<<"j:"<<j<<"y:"<<y<<endl;
//cout<<"inc4:"<<inc<<endl;
n--;
//cout<<n<<endl;*/

}
}
void print(int n)
{
    int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<flag[i][j]<<'\t';
cout<<endl;
}
}
int main()
{
    int n;
while(cin>>n)
{
init();
func(n,0);
print(n);
}
return 0;
}
分享到:
评论

相关推荐

    回型数 C++

    ### 回型数 C++ 实现解析 在深入解析给定的代码片段之前,我们先来了解一下何为“回型数”。回型数是指一种特殊形式的数字排列方式,其结构类似于汉字“回”,即从外层向内层螺旋式地填充数字。这种数字排列在数学...

    C++回型矩阵

    用C++编写的回型矩阵,任意输入一个数字,然后以回型矩阵的形式显示出来

    蓝桥杯国赛题之C++回形取数.zip

    《C++回形取数:探索蓝桥杯国赛中的编程奥秘》 在编程竞赛领域,"蓝桥杯"无疑是一项备受瞩目的比赛,它以其高质量的题目和严格的评判标准,吸引了众多热爱编程的学子积极参与。本次我们将深入探讨一个在蓝桥杯国赛...

    C++实现矩阵转置的模板类

    用C++实现矩阵转置的模板类,属于标准模板。

    拆解世界五百强面试题--回型矩阵

    请用C语言实现 输入N,打印N*N矩阵 比如 N = 3, 打印: 1 2 3 8 9 4 7 6 5 N = 4, 打印 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

    c语言代码方阵

    好详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分。

    CSP模拟考模拟题附答案

    - **应用场景**:尽管在C++等现代语言中,异常处理机制和循环结构提供了更好的替代方案,但在特定情况下,如复杂的嵌套循环或错误处理逻辑中,`goto`语句依然会被使用。 2. **二叉树第N层的最大结点数** - **知识...

Global site tag (gtag.js) - Google Analytics