go - 使用 Go 递归继续扫描输入
问题描述
我试图在不使用 for/while 循环和递归的情况下解决问题。该问题以这种格式为您提供输入:
其中“2”是查询的数量,每个查询包含数字列表的长度,后跟数字。我需要扫描所有信息并打印出数字的总和(在本例中为 3 + -1 + 1 + 14 和 9 + 6 + -53 + 32 + 16)。我正在尝试使用递归来扫描数字,但我似乎无法正确扫描它们。有没有
package main
import (
"fmt"
)
func main() {
var n int
fmt.Scan(&n)
recur(n)
}
func print_sum(l int, sum int) int {
if l == 0 {
return sum
}
var next_digit int
fmt.Scan(next_digit)
print_sum(l-1, sum+next_digit)
return 0
}
func recur(queries int) {
if queries == 0 {
return
}
var next_len int
fmt.Scan(next_len)
print_sum(next_len, 0)
recur(queries - 1)
}
解决方案
我能够找出解决方案,如果有人想看,这里是代码:https ://github.com/allenye66/Recursive-Sum-of-Squares
推荐阅读
- python - 字数频率:去除停用词
- bash - 用户输入中的 Bash 自动完成,Makefile
- mysql - SQL 从视图中的 4 个表中选择
- c++ - C++ 如何在同一个类中声明类的双端队列?
- dns - Windows 10 DNS 客户端崩溃,我无法重新启动它
- security - 动态内存分配期间的数据安全
- java - 如何从外部paint() 绘制变量?
- c++ - 如何使用 sd-bus 获取服务状态?
- javascript - NodeJS http服务器未发送整个缓冲区/获取未获取整个缓冲区
- opencv - 为什么 OpenCV 可以等待流式 CUDA 操作而不是异步进行?