SPOJ 42 "Adding Reversed Numbers"
問題:https://www.spoj.pl/problems/ADDREV/
Go言語で書き直してみた.けっこうめちゃくちゃな気がする.
package main import ( "scanner" "strconv" "os" "fmt" "bytes" "strings" ) func rev(s string) string { buf := bytes.NewBufferString(s).Bytes() res := make([]byte, len(s)) for pos,c:= range buf { res[len(s)-pos-1]=c } return bytes.NewBuffer(res).String() } func main() { var s scanner.Scanner s.Init(os.Stdin) s.Scan() for n,_ := strconv.Atoi(s.TokenText()); n>0; n-- { s.Scan() a,_ := strconv.Atoi(rev(s.TokenText())) s.Scan() b,_ := strconv.Atoi(rev(s.TokenText())) fmt.Println(strings.Trim(rev(strconv.Itoa(a+b)), "0")) } }