洛谷题单入门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 天前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.1 天前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*1 天前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
cfm_29141 天前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
如竟没有火炬1 天前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
8Qi81 天前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术1 天前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
晨曦中的暮雨1 天前
Golang速通(Javaer版)
java·开发语言·后端·golang
想吃火锅10051 天前
【leetcode】1.两数之和js版
javascript·算法·leetcode