列表

详情


NC208614. 打印图形

描述

小红特别喜欢打印图形,特别是打印有规律的图形,请你找出下列图形的规律,并按照输入打印图形。
n = 1时
X
n = 2时
   X
 XXX
   X

n = 3时

    X
  XXX 
XXXXX
  XXX 
    X


输入描述

一个正整数n(1<=n<=100)

输出描述

输出打印的图形

示例1

输入:

1

输出:

X

示例2

输入:

2

输出:

 X
XXX
 X

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 2ms, 内存消耗: 316K, 提交时间: 2023-04-02 19:58:49

#include <stdio.h>
int main()
{int n;
scanf("%d",&n);
int i,j,k;
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
        printf(" ");
 for(k=1;k<=2*i-1;k++)
 printf("X");
printf("\n");}
 for(i=n-1;i>=1;i--)
 {for(j=1;j<=n-i;j++)
        printf(" ");
 for(k=1;k<=2*i-1;k++)
     printf("X");
 printf("\n");}
return 0;}

C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 436K, 提交时间: 2023-04-02 22:11:31

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	int n;
	cin >> n;
	for (int h = 1; h <= 2*n-1; h++)
	{
		for (int l = 1; l <= 2 * n - 1; l++)
		{
			if (abs(n - h) + abs(n - l) <= n-1)
				cout << "X";
			else
				cout << " ";
		}
		cout << endl;
	}
	return 0;
}

C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 400K, 提交时间: 2023-04-05 10:13:26

#include<iostream>
using namespace std;

int main()
{
	int n,i,j;
	scanf("%d",&n);
	for(i=1;i<=2*n-1;i++){
		for(j=1;j<=2*n-1;j++)
		{if(abs(i-n)+abs(j-n)<=n-1){
			printf("X");
		}else printf(" ");
//			printf("\n");
		}	printf("\n");
		}
	return 0;
}

Python3 解法, 执行用时: 19ms, 内存消耗: 2892K, 提交时间: 2021-05-28 23:31:42

q=int(input())
v=[]
t=-2
for i in range(1,q+1):
    x="X"*(2*i-1)
    c=" "*(q-i)
    zheng=c+x
    print(zheng)
    v.append(zheng)
for i in range(1,q):
    print(v[t])
    t=t-1
    

上一题