2016-10-27 3 views
-1

に値を追加するために、別の桁の数字を分割するには、例えば、私はいくつかの整数を持って、私はこの方法を計算する方法を見つけ出すことができます:(X場合はどのように互いに

最初、私は条件

が必要< 10)1つの数字の計算を尋ねるのを避ける

数値が1より大きい場合は第2の方法で計算する必要があります。たとえば、このように計算するには134を得ます。1 + 3 + 4からこの値8を変数に付けてください。

そこで質問は、これは、特定のC#ではありませんが、あなたの番号をループ、その後の数字によってそれを数字を得ることができます数字

+0

を試してみてください、あなたがこれはそれを行うための可能な方法の一つである –

+1

を試してみましたが、何を共有してください。数を10で割って余りを累積し、次の反復で商が10未満になるまで数を商で置き換えます。 – Adil

+2

この質問は以前に回答済みです。 http://stackoverflow.com/questions/478968/sum-of-digits-in-c-sharp – user3379669

答えて

0

int num = 12345; 
     // holder temporarily holds the last digit of the number 
     int holder = 0; 
     int sum = 0; 
     while (num>0) 
     { 
      holder = num%10; 
      num = num/10; 
      sum += holder; 

     } 

     //sum would now hold the sum of each digit 
+0

ありがとう、私は文字列、niceを使用する必要はありません –

0

を分離する方法です。数字にアクセス

JavaScriptやPythonのような高レベル言語で
// -- c 
int num = 134; 
int sum = 0; 
while(num != 0) { 
    ones_digit = num % 10; 
    sum += ones_digit; 
    num = (num - ones_digit)/10; 
} 

printf("sum: %d", sum); 

は、また次にint型への各文字を鋳造、文字列に整数に変換することによって行うことができます。

// -- javascript 
var num = 134; 
var digits = num.toString().split("").map(parseInt); 
console.log(digits); 
+0

文字列に変換するとパフォーマンスが悪くなる – Ogbe

関連する問題