沙漏演算法列印

2021-09-26 14:13:15 字數 896 閱讀 5258

列印沙漏演算法計算題

#include

using namespace std;

int main()

else if (number == (temp + 2 * (a + 2)))

}} while (1);//經過確定之後的匹配最大的列印沙漏,列印的只是一部分的四分之一,並且將中間的位置在四分之一的計算過程,之後用a-temp-1的方式反而將迴路補齊了

for (int i = 0; i < a; i++)

for (int j = 0; j < a; j++)

if (yemp2 < yemp1)

else

}else

if (j == a - 1) }}

printf("%d\n", number - temp);

}//過程中,確定初始的沙漏層次,之後使用基礎模型中7,3;在執行演算法之前,要計算其的初始量

//1.確定需要列印符號的數temp;

//可以列印沙漏圖形的特點,可以知道:可以列印沙漏符號的數分別為:7, 17, 31, 49 ··· ···,列印圖形的行數分別為:3, 5, 7, 9 ··· ···,則第n個圖形所需要的符號數的規律為:需要列印符號數(temp) = 第(n - 1)個圖形所需要的符號數 + 2 * (n + 3);根據此特點來確定給定的數能列印出最大沙漏圖形所需要的符號數temp;

//2.根據符號個數列印圖形;

//行與列變成二維陣列的位置

////①.這是乙個7行的沙漏圖形。首先預設一點,二維座標首行首列均為0,再仔細觀察這個圖形,很容易發現這是乙個對稱的圖形,第n行和第7 - n - 1行對稱,而第7 / 2 = 3行沒有對稱行;同樣地,第n列和第7 - n - 1列對稱,而第7 / 2 = 3列沒有對稱列。由此就可以知道其實我們只要處理黃色區域就好

列印菱形 列印沙漏

輸入 輸出樣例輸入 5樣例輸出 提示 每行輸出最後乙個星號後面沒有空格 多組測試資料 include include 只需找出每一行和空格 之間的關係即可 intmain for z 1 z 2 i 1 z printf n for i n 1 i 1 i 行數後半段是前半段的顛倒 for z 2 ...

列印沙漏程式設計

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

列印沙漏 python

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