2020/03/23 公開
・剰余(余り)計算
剰余(余り)とは、割り算で割り切れずに残った数のことです。
例1)10÷3の場合、3 余り 1です。(10 = 3 x 3 + 1)
例2)8÷5の場合、1 余り 3です。(8 = 5 x 1 + 3)
例3)13÷20の場合、0 余り 13です。(13 = 20 x 0 + 13)
例4)-10÷4の場合、-2 余りは-2です。(-10 = 4 x (-2) - 2 )
例5)-10÷(-4)の場合、2 余り -2です。(-10 = -4 x 2 - 2 )
まず、割り算した結果(整数)と割る数を掛けた値を、割られる数から引いた値が余りです。
例2)の割り算した結果は1で、これを割る数5と掛けると5、これを割られる数8から引くと8-5=3(余り)となります
例4)の割り算した結果は-2で、これを割る数4と掛けると-8、これを割られる数-10から引くと-10-(-8)=-2(余り)となります
Javaでは演算子'%'を使って求めることができます。
演算 | 演算子 |
---|---|
剰余 | %(半角) |
以下は、'%'を使ったJavaのソースです。
Surplus1.java ← クリックしてダウンロードページに移動
001: public class Surplus1 { 002: public static void main( String[] args ) { 003: // 変数の定義 004: int a, b, ans; 005: 006: // 100を9で割った余り 007: a = 100; 008: b = 9; 009: ans = a % b; 010: System.out.println( a + "を" + b + "で割った余り : " + ans ); 011: 012: // 50を-4で割った余り 013: a = 50; 014: b = -4; 015: ans = a % b; 016: System.out.println( a + "を" + b + "で割った余り : " + ans ); 017: 018: // -20を-3で割った余り 019: a = -20; 020: b = -3; 021: ans = a % b; 022: System.out.println( a + "を" + b + "で割った余り : " + ans ); 023: } 024: }
Surplus1.javaの出力結果
100を9で割った余り : 1 50を-4で割った余り : 2 -20を-3で割った余り : -2
aとbをいろいろな値に変更して試してみてください。
以下のソースは、for文で0~99の値のループを作り、その値を10で割った余りを表示するものです。余りが9のとき、表示を改行するようにしています。
Surplus2.java ← クリックしてダウンロードページに移動001: public class Surplus2 { 002: public static void main( String[] args ) { 003: // 変数の定義 004: int i, ans; 005: 006: for ( i = 0; i < 100; ++ i ) { 007: // iを10で割った余り 008: ans = i % 10; 009: System.out.print( ans ); 010: 011: // ans=9の時に改行 012: if ( 9 == ans ) 013: System.out.println(); 014: } 015: } 016: }
Surplus2.javaの出力結果
0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
'0123456789'が10行表示されます。
以下は、'%'を使ってdouble型の剰余を計算するソースです。C言語では'%'は整数の余り計算にだけ使用できますが、Javaの場合、実数にも'%'が使用できます。
Surplus3.java ← クリックしてダウンロードページに移動001: public class Surplus3 { 002: public static void main( String[] args ) { 003: // 変数の定義 004: double a, b, ans; 005: 006: // 173.2を20.0で割った余り 007: a = 173.2; 008: b = 20.0; 009: ans = a % b; 010: System.out.println( a + "を" + b + "で割った余り : " + ans ); 011: } 012: }
Surplus3.javaの出力結果
173.2を20.0で割った余り : 13.199999999999989
以上です。
■関連コンテンツ
割り算(除算)について | 割り算(除算)の注意点など |
整数の割り算(除算)について | 整数の割り算(除算) |
偶数・奇数 | 偶数・奇数の判定方法を解説 |
模様の描画 | いろいろな模様の描画方法を紹介 |
市松模様(テキスト版) | 市松模様のテキスト表示方法を紹介 |
値のコンソール表示 | print()、println()とは? |
![]() |
計算結果の表示足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明 |
![]() |
for文繰り返し処理に使用するfor文をJavaのソースコードを使って説明しています。 |
![]() |
素数判定与えられた整数が素数であるかを判定するプログラムを解説 |
![]() |
市松模様白と黒の市松模様画像を作成する方法を解説しています。 |
■新着情報
2020.12.22 | 格子座標から円周率πを計算 | 格子座標→円周率πを求める |
2020.12.16 | ライプニッツの公式 | 公式で円周率π(パイ)を計算 |
■広告




フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場
