gpt4 book ai didi

function - 按要求次数执行功能

转载 作者:行者123 更新时间:2023-12-01 22:34:47 25 4
gpt4 key购买 nike

计算给定整数的平方和,不包括任何负数。
输入的第一行将是整数N(1 <= N <= 100),表示要遵循的测试用例数。
每个测试用例将由包含整数X(0 对于每个测试用例,计算不包括任何负数的整数的平方和,并在输出中打印计算出的和。

注意:在收到所有输入之前,应该没有输出。
注意2:请勿在测试用例解决方案之间插入空白行。
注3:从标准输入中获取输入,然后输出到标准输出。

规则
使用Go编程语言编写解决方案
您的源代码必须是一个文件(包主文件)
不要使用任何for语句
您只能使用标准库软件包

“我面临的问题”
根据输入的测试用例,下面的“平方”功能未按要求的次数执行。为了满足特定要求,我不允许使用“for”语句。请帮帮我。语言就是去。

package main

import "fmt"

var s []int

func square(l int) {
i := 0
sum := 0
Square:

if l > 0 {
s[i] = s[i] * s[i]
sum = sum + s[i]
i++
l--
goto Square

}
fmt.Println(sum)

}

func myfunc(a int) {
Here:
if a > 0 {
var b int
fmt.Scanln(&b)
if b > 0 {
s = append(s, b)
}
a--
goto Here
}

}

func main() {
var a int
fmt.Scanln(&a)
TestCases:
if a > 0 {
var T int
fmt.Scanln(&T)
myfunc(T)
a--
goto TestCases
}
square(len(s))
}

最佳答案

这是使用递归的实现:

package main

import "fmt"

func testCase(N int) {
if N <= 0 {
return
}
var X int
fmt.Scanf("%d", &X)
fmt.Println(sumOfSquare(X))
testCase(N-1)
}

func sumOfSquare(X int) int {
if X == 0 {
return 0
}
var Y int
fmt.Scanf("%d", &Y)
if Y > 0 {
return Y*Y + sumOfSquare(X-1)
}
return sumOfSquare(X-1)
}

func main() {
var N int
fmt.Scanf("%d", &N)
testCase(N)
}

这是示例输出:
$ go run main.go
2 4 3 -1 1 14 5 9 6 -53 32 16
206
1397

关于function - 按要求次数执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60147426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com