如何Go语言打印输出沙漏
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇文章给大家分享的是有关如何Go语言打印输出沙漏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。题解打印沙漏 (20 分) Go语言|G
千家信息网最后更新 2025年01月19日如何Go语言打印输出沙漏
本篇文章给大家分享的是有关如何Go语言打印输出沙漏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
题解
打印沙漏 (20 分) Go语言|Golang
要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个"*",要求按下列格式打印
*****
***
*
***
*****
所谓"沙漏形状",是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入样例:
19 *
结尾无空行
输出样例:
*****
***
*
***
*****
2
结尾无空行
思路
基础的输出,如果觉得这题不友好的可以跳过,等回头再来做做,领悟一下。
就是找规律,先计算出所需要的有多少。再减去然后得到剩余的数量。然后再按照规律打印这个沙漏,其实就是一个等差数列了啦~
代码如下
package mainimport ( "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 { // 先是计算出所需要多少的符号 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以上就是如何Go语言打印输出沙漏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
沙漏
符号
输出
号数
语言
就是
形状
格式
输入
一行
更多
知识
空格
空行
篇文章
规律
部分
顺序
实用
最大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发 公司分类
数据库时间字段设置自动填充
网络安全自律公约
建国70周年网络安全gov
网络安全都有哪些方向
学习鸿蒙软件开发
软件开发项目关键技术怎么写
中国互联网科技文创公司
法规数据库
往数据库原理性考任务一
42u2米服务器机柜产地江浙沪
火鸟数据库fdb文件
软件开发找漏洞
惠阳良井智慧互联网科技园
招远微信小程序软件开发推荐
vue获取不了数据库数据
数据库的模板怎么修改属性
数据库多条件查询命令
嘉兴工业网络技术创新服务
关于责令有关网络安全
甘肃中科园网络技术有限公司
英文数据库是什么意思
华为与中国5g网络技术
网络安全10强
建邺区飞雪网络技术工作室
美图秀秀软件开发公司
前置机服务器搭建过程
特巡警网络安全
小学生的网络安全教育讲稿
软件开发的岗位知识