PAT L1 002 列印沙漏

2021-10-01 09:47:26 字數 683 閱讀 7305

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

*****

**** ***

*****

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

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

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

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

19 *
*****

**** ***

*****

2

#includeusing namespace std;

int main()

row=i;

r=n-(sum*2+1);

break;

} }int cntch=row,cntsp=0;

for(i=1;i<=row;i++)

else

if(cntch==-1)

cout<} cout

}

PAT L1 002 列印沙漏

這個題實在沒想好咋寫 看題解 用的是什麼等差數列的思想 沒大看懂 最後在乙個看到乙個解 暴力求解 還是這個簡單直接 哈哈哈 這是別的題解的思想 先看沙漏的形狀,暫且以最中間的乙個 為界限分為上下兩部分。上半部分 從中心開始向上每行增加2個 下半部分 從中心開始向下每行增加2個 利用等差數列可知,每增...

PAT L1 002 列印沙漏 打表

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

L1 002 列印沙漏

l1 002.列印沙漏 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。要求...