結果

問題 No.222 引き算と足し算
ユーザー yuki2006
提出日時 2016-07-05 00:01:07
言語 Go
(1.23.4)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 631 bytes
コンパイル時間 11,709 ms
コンパイル使用メモリ 226,052 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-15 22:12:49
合計ジャッジ時間 12,768 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
)

func main() {
	var c string
	fmt.Scan(&c)
	mode := 0
	num := 0
	flag := '+'
	op := '+'
	A := 0
	for i := 0; i < len(c); i++ {
		if '0' <= c[i] && c[i] <= '9' {
			num = num * 10 + int(c[i] - '0')
			mode = 1
		} else {
			if mode == 0 {
				if c[i] == '-' {
					flag = rune(c[i])
				}
			} else if mode == 1 {
				A = num
				if flag == '-' {
					A *= -1
				}
				num = 0
				flag = '+'
				if c[i] == '+' {
					op = '-'
				} else {
					op = '+'
				}
				mode = 0
			}
		}
	}
	B := num
	if flag == '-' {
		B *= -1
	}
	if op == '+' {
		fmt.Println(A + B)
	} else {
		fmt.Println(A - B)
	}

}
0