🍇

ITP1 プログラミング入門 Go言語でやってみた

2022/11/20に公開約3,700字

ITP1 プログラミング入門

Go言語の勉強教材として、Aizu Online Judge を使用させていただいております。
まずは、「ITP1 プログラミング入門」コースから。
地道にやっていきたい。
非常に拙いコードではありますが、自分のメモとして残すついでに。
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1

ITP1_1

ITP1_1_A

package main
import "fmt"

func main(){
    fmt.Println("Hello World")
}

ITP1_1_B

package main
import "fmt"

func main(){
    var x int
    fmt.Scan(&x)
    fmt.Println(x*x*x)
}

ITP1_1_C

package main
import "fmt"

func square(a, b int) (int, int) {
    l := (a + b) * 2
    s := a * b
    return l, s
}

func main(){
    var a, b int
    fmt.Scan(&a, &b)
    l, s := square(a, b)
    fmt.Println(s, l)
}

ITP1_1_D

package main
import "fmt"
var h, m, s int

func time(S int) (int, int, int) {
    h := S / 3600
    m := S % 3600 /60
    s := S % 60
    return h, m, s
}

func main(){
    var S int
    fmt.Scan(&S)
    h, m, s := time(S)
    fmt.Printf("%d:%d:%d\n", h, m, s)
}

ITP1_2

ITP1_2_A

package main
import "fmt"

func main(){
    var a, b int
    fmt.Scan(&a, &b)
    if  a < b {
        fmt.Println("a < b")
    }else if a > b {
        fmt.Println("a > b")
    }else{
        fmt.Println("a == b")
    }

ITP1_2_B

package main
import  "fmt"

func main(){
    var a, b, c int
    fmt.Scan(&a, &b, &c)
    if a < b && b < c { 
        fmt.Println("Yes")
    }else{
        fmt.Println("No")
    }
}

ITP1_2_D

package main
import "fmt"

func main() {
    var W, H, x, y, r int
    fmt.Scan(&W, &H, &x, &y, &r)
    if x - r >= 0 && x + r <= W && y - r >= 0 && y + r <= H {
            fmt.Println("Yes")
    }else{
        fmt.Println("No")
    }
    
}

ITP1_3

ITP1_3_A

package main
import "fmt"

func main() {
    for i := 0; i < 1000; i++{
        fmt.Println("Hello World")
    }
}

ITP1_3_B

package main
import "fmt"

func main() {
    var x int
    for i := 1; ; i++{
     fmt.Scan(&x)
        if x == 0 {
            break
        }
        fmt.Printf("Case %d: %d\n", i, x)
    }
}

ITP1_3_C

package main
import "fmt"

func swap(x, y int) (int, int) {
    return y, x
}

func main() {
    var x, y int
    
    for {
        fmt.Scan(&x, &y)
        if x == 0 && y == 0 {
            break
        }
        if x > y {
            y, x := swap(x, y)
            fmt.Println(y, x)
        }else{
            fmt.Println(x, y)
        }
    }
}

ITP1_3_D

package main
import "fmt"

func divisor(a, b, c int) (int) {
    var i, count int
    for i = a; i <= b; i++{
        if( c % i == 0 ){
            count = count + 1
        }
    }
    return count
}

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

ITP1_4

ITP1_4_A

package main
import "fmt"

func main () {
    var a, b int
    fmt.Scan(&a, &b)
    
    d := a /b 
    r := a % b
    f := float64(a)  / float64(b) 
    
    fmt.Printf("%d %d %.5f\n", d, r, f)
}

ITP1_4_B

package main
import "fmt"
import "math"

func main () {
    var r float64
    var pi = math.Pi
    
    fmt.Scan(&r)
    
    S := r * r * pi
    l := r * 2 * pi 
    
    fmt.Printf("%.5f %.5f\n", S, l)
}

ITP1_4_C

package main
import "fmt"

func main() {
    var a, b int
    var op string

    for {
        fmt.Scan(&a, &op, &b)
        
        if op == "?" {
            break
        }else if op == "+" {
            x := a + b
            fmt.Printf("%d\n", x)
        }else if op == "-" {
            x := a - b
            fmt.Printf("%d\n", x)
        }else if op == "*" {
            x := a * b
            fmt.Printf("%d\n", x)
        }else if op == "/" {
            x := a / b
            fmt.Printf("%d\n", x)
        }
    }
}

続きます

Discussion

ログインするとコメントできます