package main import ( "bufio" "fmt" "os" "strconv" ) // エントリポイント func main() { in := bufio.NewScanner(os.Stdin) in.Scan() // 100 円硬貨の枚数 input1 := in.Text() in.Scan() // 25 円硬貨の枚数 input2 := in.Text() in.Scan() // 1 円硬貨の枚数 input3 := in.Text() fmt.Println(savings(input1, input2, input3)) } func savings(yen100 string, yen25 string, yen1 string) string { i1000 := 0 i100, _ := strconv.Atoi(yen100) i25, _ := strconv.Atoi(yen25) i1, _ := strconv.Atoi(yen1) if i1 != 0 { i25 += i1 / 25 // % で割り算の余りを取得 i1 = i1 % 25 } if i25 != 0 { i100 += i25 / 4 i25 = i25 % 4 } if i100 != 0 { i1000 = i100 / 10 i100 = i100 % 10 } // 硬貨の数なので、1000円札は加算しない _ = i1000 return strconv.Itoa(i100 + i25 + i1) }