模拟
来源:互联网 发布:高中数学补课软件 编辑:程序博客网 时间:2024/05/02 09:00
螺旋输出 数字;
#include<bits/stdc++.h>using namespace std;int a[1001][1001]={0};int main(){int n,j,l,k,i,x,y,x1=0,y1=0,e=100,b=0,c=100,d=0; cin>>n;for(j=1;j<=n/2;j++){for(k=1;k<=j;k++){if(j*k>=n){x1=j;y1=k;break;}}if(x1*y1>=n) break;} x=x1/2; y=y1/2; a[x][y]=1;x=x-1; y=y-1; l=1; // cout<<x<<" "<<y<<endl;for(j=1;j<n;j+=2){for(i=0;i<=j;i++){a[x][++y]=++l;if(e>x) e=x; if(b<x) b=x;if(c>y) c=y;if(d<y) d=y;if(l==n) break;}if(l==n) break;for(i=0;i<=j;i++){a[++x][y]=++l;if(e>x) e=x; if(b<x) b=x;if(c>y) c=y;if(d<y) d=y;if(l==n) break;}if(l==n) break;for(i=0;i<=j;i++){a[x][--y]=++l;if(e>x) e=x; if(b<x) b=x;if(c>y) c=y;if(d<y) d=y;if(l==n) break;}if(l==n) break;for(i=0;i<=j;i++){a[--x][y]=++l;if(e>x) e=x; if(b<x) b=x;if(c>y) c=y;if(d<y) d=y;if(l==n) break;}x--;y--;if(l==n) break;}for(j=e;j<=b;j++){for(k=c;k<=d;k++){ printf("%5d",a[j][k]);}cout<<endl;}return 0;}
82 83 84 85 86 87 88 89 90 91
81 50 51 52 53 54 55 56 57 92
80 49 26 27 28 29 30 31 58 93
79 48 25 10 11 12 13 32 59 94
78 47 24 9 2 3 14 33 60 95
77 46 23 8 1 4 15 34 61 96
76 45 22 7 6 5 16 35 62 97
75 44 21 20 19 18 17 36 63 98
74 43 42 41 40 39 38 37 64 99
73 72 71 70 69 68 67 66 65 100
阅读全文
2 0
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟:
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- 模拟
- python之import机制详解
- java学习建议
- Codeforces 441E Valera and Number 概率DP
- Javascript图片库
- Maven--Eclipse集成Maven
- 模拟
- Hdu1087-Super Jumping! Jumping! Jumping!-【dp动态规划】
- Ranger的安装与部署(四)
- hdu 2647 Reward
- 这些C语言基础的重要概念一定要弄懂
- java进阶
- MFC下为List Control设置图片背景的一种方法
- UVA1412FundManagement
- PAT --- 1003. 我要通过!(20)