あなたが右から開始している場合、これは動作します。少なくとも、C++で動作します。私は言ったように、私はC#を知らない。私は彼らがC#でこのナンセンスのいくつかを削除したと思っています。
それはワンライナーではありませんが、あなたは(私は公正だと思う)宣言割り引く場合、それは1つの文です:
int oddSum, evenSum;
for(bool odd = ((oddSum = evenSum = 0) == 0);
n != 0;
odd = (!odd || (n /= 10) == n + (oddSum += (odd ? n % 10 : 0) - evenSum + (evenSum += (!odd ? n % 10 : 0)))))
;
として、余分なクレジットが、ここではすべてオンになります1行のPythonスクリプトですあなたのC#ソリューションをワンライナーに変換します。
one_liner.py
open(__import__('sys').argv[2]','w').write(open(__import__('sys').argv[1],'r').read().replace('\n',''))
使用方法:修正グループロジックと
python one_liner.py infile outfile
ちょうど1つの質問、私たちは奇数/左からも右から数え始めますか?数字の桁数が偶数であれば、これは違いになります。 – erelender