少しづつやっていくためのメモ。随時更新します。
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));}}