Module: 整数除算と剰余


Problem

14 /16


初心者にとって最も難しい質問、または数字の桁

Theory Click to read/hide

割り算の余りを計算する操作を適用する必要があることは、数値の桁を扱うときにわかります。

次のタスクを分析してみましょう:
3 桁の数字が与えられます。この数値のすべての桁を表示し、単位と百を並べ替えて形成された新しい数値を取得します

初心者にとって最も難しい問題は、数字から数字を取得する方法です。
実際、数学を覚えていれば、すべては非常に簡単に解決されます。そして数学は、どんな数値も数字の項の合計に分解できることを教えてくれます。
例: 365=3*100+6*10+5*1 。各桁が、数値の対応する桁の乗数であることがわかります。
列を数値 10 で割る例を使用して、数値の各桁を個別の変数に取得する方法を示します。 1、10、100など)

  

この図を分析すると、次のことがわかります。 <プレ> <コード>e = n % 10; // 操作 n % 10 - 数値 n の最後の桁 (つまり、数値の単位) を計算します 365 % 10 = 5 d = n / 10% 10; // 操作 n / 10 - 数値を 10 倍に減らします。つまり、数値の最後の桁を破棄します (365 / 10 = 36), // これで、おなじみの演算を結果に適用して 10 の数を計算できます - 10 で割った余りを計算します 36 % 10 = 6 s = n / 100; // 百を取得するには、数字の右から 2 桁を破棄するだけで十分です。つまり、10 で 2 回割ります (n / 10 /10 または n / 100 と同じ) ) 365 / 100 = 3
数値の保存された数字を使用して、目的の数字を対応する数字で乗算することにより、それらから任意の数字を作成できます。 
たとえば、以下の行は元の数 n から新しい数を取得し、100 と 1 を並べ替えます。
1) 古い 1 の数 (変数  e) 100 を掛けたもの 
2) 古い 10 の数 (変数 d)  掛ける 10 
3) 古い百の数に 1 を掛けるか、変数 s に格納されている値を単純に取得できます。
次に、ポイント 1、2、および 3 の値を加算して、新しい数値を取得します。

n1 = e * 100 + d * 10 + s;

プログラム全体は次のようになります。 <プレ> java.util.Scannerをインポートします。 パブリッククラス Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); <コード> int n、e、d、s; n = in.nextInt()<コード>; e = n % 10; d = n / 10% 10; s = n / 100; System.out.print(e + "" + d + "" + s + "" + (e * 100 + d * 10 + s)); }

Problem

キーボードから 3 桁の数字を入力します。 
スペースを 1 行で区切って出力するプログラムを作成します。
数値の桁数と、1 と 10 を並べ替えて形成された新しい数値の合計