Skip to content
字数
288 字
阅读时间
2 分钟

输入输出

bufio

go
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	reader := bufio.NewReader(os.Stdin)

	// 读取整数,确定参数数量
	fmt.Print("请输入参数数量: ")
	countStr, _ := reader.ReadString('\n')
	countStr = countStr[:len(countStr)-1] // 去掉换行符
	count, err := strconv.Atoi(countStr)
	if err != nil {
		fmt.Println("输入的参数数量无效:", err)
		return
	}

	// 读取对应数量的参数
	fmt.Printf("请输入 %d 个参数:\n", count)
	for i := 0; i < count; i++ {
		param, _ := reader.ReadString('\n')
		param = param[:len(param)-1] // 去掉换行符
		fmt.Printf("参数 %d: %s\n", i+1, param)
	}
}

各位相加

strconv.Itoa 将整型数据转为字符串类型

go
func addDigits(num int) int {
    if num < 10 {
        return num
    }
    len := len(strconv.Itoa(num))
    sum := 0
	for i := 0; i < len; i++ {
		sum += num % 10
		num = num / 10
	}     
	return addDigits(sum)
}
go
func addDigits(num int) int {
    for num >= 10 {
        sum := 0
        for ; num > 0; num /= 10 {
            sum += num % 10
        }
        num = sum
    }
    return num
}
go
if num==0:
	return 0
if num%9==0:
	return 9
return num%9

判断是否有环

go
func hasCycle(head *ListNode) bool {
    if head == nil || head.Next == nil {
        return false
    }

    slow := head
    fast := head.Next

    for fast != nil && fast.Next != nil {
    	if slow == fast {
    		return true
    	}
    	slow = slow.Next
    	fast = fast.Next.Next
    }
    return false
}

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写