Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9743

[Paiza]レベルアップ問題集 文字列処理

$
0
0

少しづつやっていくためのメモ。随時更新します。
C#だと解答例がまだないので、ご自由に参考にしてください。

数式の計算

usingSystem;usingSystem.IO;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Linq;publicclassHello{publicstaticvoidMain(){varline=System.Console.ReadLine();vartokens=newList<string>();inttokenStart=0;for(inti=0;i<line.Length;i++){varc=line[i];if(c=='+'||c=='-'||i==line.Length-1){vartoken=i==line.Length-1?line.Substring(tokenStart):line.Substring(tokenStart,i-tokenStart);tokenStart=i+1;tokens.Add(token);if(c=='+')tokens.Add("+");if(c=='-')tokens.Add("-");}}longcalcMem=long.Parse(tokens[0]);for(inti=1;i<tokens.Count;i++){if(tokens[i]=="+"){calcMem+=long.Parse(tokens[i+1]);i++;}if(tokens[i]=="-"){calcMem-=long.Parse(tokens[i+1]);i++;}}Console.WriteLine(calcMem);}}

巨大な数の足し算(繰り上がりなし)

usingSystem;usingSystem.IO;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Linq;publicclassHello{publicstaticvoidMain(){vars=System.Console.ReadLine();vart=System.Console.ReadLine();varr=newList<char>();for(inti=s.Length-1;i>=0;i--){intcs=(s[i]-'0');intls=(t[i]-'0');intk=cs+ls;r.Add((char)(k+'0'));}varary=r.ToArray();Array.Reverse(ary);Console.WriteLine(newString(ary));}}

巨大な数の足し算

usingSystem;usingSystem.IO;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Linq;publicclassHello{publicstaticvoidMain(){vars=System.Console.ReadLine();vart=System.Console.ReadLine();varr=newList<char>();varcarry=0;for(inti=s.Length-1;i>=0;i--){intcs=(s[i]-'0');intls=(t[i]-'0');intk=(cs+ls+carry)%10;if(cs+ls+carry>9){carry=(cs+ls+carry)/10;}else{carry=0;}r.Add((char)(k+'0'));}while(carry>0){r.Add((char)((carry%10)+'0'));carry/=10;}varary=r.ToArray();Array.Reverse(ary);Console.WriteLine(newString(ary));}}

Viewing all articles
Browse latest Browse all 9743

Trending Articles