一个B题的思路 B题先填充相同的字符(比如r),然后依次填充e、d、r package main import ( "fmt" "math" "strings" ) func main() { x := 0 fmt.Scan(&x) n := math.Floor(0.5 * (-1 + math.Sqrt(1.0+8.0*float64(x)))) var res strings.Builder res.Grow(100000) for i := 0; i < int(n); i++ { res.WriteByte('r') } x = x - int(n*(n+1)/2.0) for i := 0; i < x; i++ { if i%3 == 0 { res.WriteByte('e') } else if i%3 == 1 { res.WriteByte('d') } else { res.WriteByte('r') } } fmt.Println(res.String()) }
2 4

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
许愿面试顺利的小白很...:你是我在牛客上见过最美的女孩
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务