洛谷题单入门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", ...) 格式符一样
相关推荐
Gigavision4 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
鹿角片ljp4 小时前
LeetCode 64:最小路径和复盘|二维 DP 与 ACM 模式完整写法
java·数据结构·算法
彧azz5 小时前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
Beyond_System|系统之外6 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55237 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
漂流瓶jz8 小时前
UVA-1442 洞穴 题解答案代码 算法竞赛入门经典第二版
c++·算法·题解·aoapc·算法竞赛入门经典·uva
叠层归一研究院9 小时前
基于极限自指的叠层归一宇宙结构理论——无元外部封闭系统的内生区分模型
人工智能·经验分享·算法·agi
Selvaggia10 小时前
Diffusion Model 的基本原理与模型架构
算法
五彩小白11 小时前
GO语言装饰器语法
golang
wabs66612 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树