2016天梯賽 列印沙漏

2021-07-13 04:39:09 字數 962 閱讀 5337

題幹:

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個「*」,要求按下列格式列印

*****

**** ***

*****

所謂「沙漏形狀」,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能多的符號。

輸入格式:

輸入在一行給出1個正整數n(<=1000)和乙個符號,中間以空格分隔。

輸出格式:

首先列印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。

輸入樣例:

19 *
輸出樣例:
*****

**** ***

*****

2

思路很簡單,就直接在**裡面寫注釋了:
#include int main()

} //現在開始列印:

//上半部分的列印

for(i = j;i>=1;i--)

for(k = 2*i-1;k>=1;k--)

//注意,下面這裡,這裡理應是應該列印字元後面的空格的,但是加了就部分正確,不加就過

/*if(i!=j) for(t = j-i;t>=1;t--)*/

printf("\n");

} //下半部分的列印

for(i = 2;i <= j;i++)

for(k = 2*i-1;k>=1;k--)

/*if(i!=j) for(t = j-i;t>=1;t--)*/

printf("\n");

} printf("%d\n",n-j*j*2+1);

} return 0;

}

天梯賽 列印沙漏

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者陳越本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減...

2016天梯模擬賽 高階題解

l2 005 集合相似度 題目的意思是要求兩個集合的交集中互不相同元素的個數和兩個集合並集中互不相同的元素的個數 先求交集中互不相同的元素,然後用兩個集合互不相同元素個數的和減去,就是並集中的個數 include include include include include include inc...

2020天梯賽模擬賽

include using namespace std intmain void include using namespace std intmain void include using namespace std intmain void cout a b endl return0 inclu...