洛谷题单入门1 顺序结构

👨‍💻 关于作者:会编程的土豆

"不是因为看见希望才坚持,而是坚持了才看见希望。"

你好,我是会编程的土豆,一名热爱后端技术的Java学习者。

📚 正在更新中的专栏:

💕作者简介:后端学习者

1.

Go 复制代码
package main

import "fmt"

func main() {
	var a, b int
	fmt.Scan(&a, &b)
	c := a * b
	fmt.Println(c)
}

2.

Go 复制代码
package main

import (
    "fmt"
    "unicode"
)

func main() {
    var c rune // 使用 rune 类型
    fmt.Scanf("%c", &c)
    fmt.Printf("%c", unicode.ToUpper(c)) // 直接用标准库转换
}

常用函数

函数 作用 类似 C
unicode.ToUpper(r) 转大写 toupper()
unicode.ToLower(r) 转小写 tolower()
unicode.IsUpper(r) 判断是否大写 isupper()
unicode.IsLower(r) 判断是否小写 islower()
unicode.IsDigit(r) 判断是否数字 isdigit()
unicode.IsLetter(r) 判断是否字母 isalpha()

3.

Go 复制代码
package main

import "fmt"

func main() {
    var s string
    fmt.Scan(&s)
    for i := len(s) - 1; i >= 0; i-- {
        fmt.Printf("%c", s[i])
    }
}

go里面没有reverse反转函数

4.

Go 复制代码
package main

import "fmt"

func main() {
	var t, m float64
	var n, a int
	fmt.Scanf("%f %d", &t, &n)
	m = t / float64(n)
	a = n * 2
	fmt.Printf("%.3f\n%d", m, a)
}

go语言中类型不同的变量不能直接运算,c++里面int和浮点数可以直接计算的,但是go里面不行

go里面没有double float64就相当于c++的double,所以go也没有 %lf

5.

Go 复制代码
package main

import (
	"fmt"
	"math"
)

func main() {
	var a, b, c float64
	fmt.Scanf("%f %f %f", &a, &b, &c)
	p := (a + b + c) / 2
	s := math.Sqrt(p * (p - a) * (p - b) * (p - c))
	fmt.Printf("%.1f\n", s)
}

使用sqrt函数的时候要加上math.而且Sqrt的S要大写驼峰式,和C++不一样的是C++不需要math.

6.

Go 复制代码
package main

import (
    "fmt"
    "math"
)

func main() {
    const a1 = 24 * 60  // 一整天的分钟数
    const a2 = 8 * 60    // 8:00 对应的分钟数

    var s, v int
    fmt.Scanf("%d %d", &s, &v)

    // 计算路上花费的时间(分钟),向上取整
    temp := int(math.Ceil(float64(s) / float64(v)))
    temp += 10 // 加上垃圾分类的10分钟

    var needTime int
    if temp <= a2 {
        // 当天 8:00 之前出发
        needTime = a2 - temp
    } else {
        // 前一天出发
        needTime = a1 + a2 - temp
    }

    hour := needTime / 60
    minute := needTime % 60

    fmt.Printf("%02d:%02d", hour, minute)
}
C++ Go 说明
ceil((1.0*s)/v) math.Ceil(float64(s) / float64(v)) 必须显式转换类型
ceil 返回 int math.Ceil 返回 float64 需要再转 int
const int a1 = ... const a1 = 24 * 60 Go 自动推断类型
printf("%02d:%02d", ...) fmt.Printf("%02d:%02d", ...) 格式符一样
相关推荐
心运软件9 分钟前
银行客户流失预测(Python 完整实战)
算法
邪神与厨二病13 分钟前
牛客周赛 Round 153
python·算法
qizayaoshuap2 小时前
# ❌ 井字棋 — 鸿蒙ArkTS Minimax AI算法与博弈系统设计
人工智能·算法·华为·harmonyos
qq_452396232 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
皓月斯语3 小时前
B3842 [GESP202306 三级] 春游 题解
数据结构·c++·算法·题解
atunet3 小时前
树状结构在查询优化中的作用与实现细节7
算法
徐凤年_4 小时前
rog_map参数理解
算法
春日见4 小时前
算法与数据结构----哈希表
数据结构·人工智能·算法·机器学习·自动驾驶·哈希算法·散列表
萌动的小火苗4 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件
叩码以求索4 小时前
统计按位或能得到最大值的子集数目(一)
数据结构·算法