#include <iostream>
#include<bits/stdc++.h>
using namespace std;
bool judge(int n)//判断是否为平方数 ,核心类似二分查找
{
int left=1,right=n/2;
int mid;
if(n==1)
return 1;
while(left<=right)
{
mid=(left+right)/2;
if(mid*mid==n)
return true;
else if(mid*mid>n)
right=mid-1;
else
left=mid+1;
}
return false;
}
int main(int argc, char** argv)
{
int n,sum,i,j,k;
cin>>n;
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)//输出等腰三角形的格式
cout<<" ";
sum=2*i-1;
for(j=1;j<=sum;j++)
{
if(judge(j))
cout<<"!";
else
cout<<"#";
}
cout<<endl;
}
return 0;
}
洛谷 B3898 [NICA #3] 彩灯装饰
最新推荐文章于 2024-08-27 17:53:55 发布