最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言小白入門刷題打印輸出沙漏

 更新時(shí)間:2021年11月09日 17:24:37   作者:小生凡一  
這篇文章主要介紹了Go語言刷題打印輸出沙漏的示例過程詳解,非常適合剛?cè)腴TGo語言的小白學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助

題解

【PTA團(tuán)體程序設(shè)計(jì)天梯賽】 L1-002 打印沙漏 (20 分) Go語言|Golang

本題要求你寫個(gè)程序把給定的符號(hào)打印成沙漏的形狀。例如給定17個(gè)“*”,要求按下列格式打印

*****
 ***
  *
 ***
*****

所謂“沙漏形狀”,是指每行輸出奇數(shù)個(gè)符號(hào);各行符號(hào)中心對(duì)齊;相鄰兩行符號(hào)數(shù)差2;符號(hào)數(shù)先從大到小順序遞減到1,再從小到大順序遞增;首尾符號(hào)數(shù)相等。

給定任意N個(gè)符號(hào),不一定能正好組成一個(gè)沙漏。要求打印出的沙漏能用掉盡可能多的符號(hào)。

輸入格式:

輸入在一行給出1個(gè)正整數(shù)N(≤1000)和一個(gè)符號(hào),中間以空格分隔。

輸出格式:

首先打印出由給定符號(hào)組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號(hào)數(shù)。

輸入樣例:

19 *

結(jié)尾無空行

輸出樣例:

*****
 ***
  *
 ***
*****
2

結(jié)尾無空行

思路

基礎(chǔ)的輸出,如果覺得這題不友好的可以跳過,等回頭再來做做,領(lǐng)悟一下。

就是找規(guī)律,先計(jì)算出所需要的有多少。再減去然后得到剩余的數(shù)量。然后再按照規(guī)律打印這個(gè)沙漏,其實(shí)就是一個(gè)等差數(shù)列了啦~

代碼如下

package main
import (
	"fmt"
)
func  main() {
	var n int
	var tag byte
	var sum, nextSum int
	_, _ = fmt.Scanf("%d %c", &n, &tag)
	sum = 1
	nextSum = 1
	i := 1
	last := 0
	for true { // 先是計(jì)算出所需要多少的符號(hào)
		i += 2
		nextSum += i * 2
		if nextSum <= n {
			sum += i * 2
		} else {
			i -= 2
			last = n - sum
			break
		}
	}
	for j:=i; j>=1; j=j-2 {  // 先打印上半部分
		var space = (i - j) / 2
		for k:=0; k<i-space; k++ {
			if k < space {
				fmt.Printf(" ")  // 先打印空格
			} else {
				fmt.Printf("%c", tag)  //再打印*
			}
		}
		fmt.Println() // 最后記得要換行
	}
	for j:=3; j<=i; j=j+2 {
		var space = (i - j) / 2  //再打印下半部分
		for k:=0; k<i-space; k++ {
			if k < space{
				fmt.Printf(" ")  //再打印*
			} else {
				fmt.Printf("%c", tag)
			}
		}
		fmt.Println()
	}
	fmt.Println(last)
}

以上就是Go語言小白入門刷題打印輸出沙漏的詳細(xì)內(nèi)容,更多關(guān)于Go語言打印沙漏的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 用Go語言標(biāo)準(zhǔn)庫實(shí)現(xiàn)Web服務(wù)之項(xiàng)目介紹

    用Go語言標(biāo)準(zhǔn)庫實(shí)現(xiàn)Web服務(wù)之項(xiàng)目介紹

    從本節(jié)開始將從后端到前端一步一步實(shí)現(xiàn)一個(gè)Go語言Web服務(wù),后端除了MySQL驅(qū)動(dòng),全部使用Go語言標(biāo)準(zhǔn)庫來實(shí)現(xiàn)一個(gè)小型項(xiàng)目,本篇將簡單的介紹一下項(xiàng)目開發(fā)要準(zhǔn)備的流程,感興趣的同學(xué)可以閱讀一下
    2023-05-05
  • 詳解在Go語言中如何實(shí)現(xiàn)枚舉類型

    詳解在Go語言中如何實(shí)現(xiàn)枚舉類型

    枚舉類型是一種常用的數(shù)據(jù)類型,用于表示一組有限的、預(yù)定義的、具名的常量值。而在?Go?語言里是沒有內(nèi)置枚舉類型的,所以本文將介紹如何實(shí)現(xiàn)?“枚舉類型”,需要的可以參考一下
    2023-04-04
  • go語言面試如何實(shí)現(xiàn)自旋鎖?

    go語言面試如何實(shí)現(xiàn)自旋鎖?

    這篇文章主要為大家介紹了go語言面試中常問的如何實(shí)現(xiàn)自旋鎖問題實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    這篇文章主要為大家介紹了更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 一文詳解Golang內(nèi)存管理之??臻g管理

    一文詳解Golang內(nèi)存管理之??臻g管理

    這篇文章主要介紹了Golang內(nèi)存管理的棧空間管理,文章通過代碼示例介紹的非常詳細(xì),對(duì)我們學(xué)習(xí)Golang內(nèi)存管理有一定的幫助,需要的朋友跟著小編一起來學(xué)習(xí)吧
    2023-06-06
  • Go語言操作MySql數(shù)據(jù)庫的詳細(xì)指南

    Go語言操作MySql數(shù)據(jù)庫的詳細(xì)指南

    數(shù)據(jù)的持久化是程序中必不可少的,所以編程語言中對(duì)數(shù)據(jù)庫的操作是非常重要的一塊,這篇文章主要給大家介紹了關(guān)于Go語言操作MySql數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • golang如何操作csv文件詳解

    golang如何操作csv文件詳解

    這篇文章主要給大家介紹了關(guān)于golang如何操作csv文件的相關(guān)資料,以及使用Golang導(dǎo)出CSV數(shù)據(jù)并解決數(shù)據(jù)亂碼問題的解決辦法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • golang中配置?sql.DB獲得更好的性能

    golang中配置?sql.DB獲得更好的性能

    這篇文章主要介紹了golang中如何配置?sql.DB獲得更好的性能,在這篇文章中,我想準(zhǔn)確解釋這些設(shè)置的作用,并展示它們可能產(chǎn)生的(積極和消極)影響,需要的朋友可以參考下
    2023-10-10
  • go語言串口通信的項(xiàng)目實(shí)踐

    go語言串口通信的項(xiàng)目實(shí)踐

    在Go語言可以使用github.com/tarm/serial包來進(jìn)行串口通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • golang如何通過type定義函數(shù)類型

    golang如何通過type定義函數(shù)類型

    這篇文章主要介紹了golang如何通過type定義函數(shù)類型問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

阳泉市| 平江县| 岳普湖县| 惠东县| 彭阳县| 虎林市| 赤水市| 济源市| 洛宁县| 柳林县| 大余县| 五河县| 楚雄市| 宁乡县| 镇远县| 安溪县| 陕西省| 电白县| 承德县| 屯昌县| 苍溪县| 阿尔山市| 镇康县| 金堂县| 天峻县| 盖州市| 博爱县| 达孜县| 昌平区| 渑池县| 武义县| 霍山县| 兴隆县| 高雄县| 双江| 洪洞县| 衡东县| 桃江县| 资兴市| 巴塘县| 寿光市|