洛谷题单入门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", ...) 格式符一样
相关推荐
生信碱移1 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业1 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
智者知已应修善业4 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
JasmineX-14 小时前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表
.5484 小时前
## Sorting(排序算法)
python·算法·排序算法
wuweijianlove5 小时前
算法的平均复杂度建模与性能回归分析的技术7
算法·数据挖掘·回归
子琦啊5 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
code_pgf6 小时前
Octo 算法详解-开源通用机器人策略模型技术报告
算法·机器人·开源
嘻嘻哈哈樱桃6 小时前
牛客经典101题题解集--动态规划
java·数据结构·python·算法·职场和发展·动态规划