Javaプログラミング学習サイト ゆるゆるプログラミング

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()とは?
各位(くらい)を求める 1の位の値は?10の位は?
お札とコインの数 必要なお札と硬貨の枚数?
四則演算(足し算/引き算/掛け算/割り算)について-画像

計算結果の表示

足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明

繰り返し処理に使用するfor文について解説-画像

for文

繰り返し処理に使用するfor文をJavaのソースコードを使って説明しています。

条件による処理の分岐に使用するif文について解説-画像

if文

条件による処理の分岐に使用するif文について解説

素数の判定方法を解説-画像

素数判定

与えられた整数が素数であるかを判定するプログラムを解説

市松模様の画像作成方法を紹介-画像

市松模様

白と黒の市松模様画像を作成する方法を解説しています。

市松模様のテキスト表示方法を紹介-画像

市松模様(テキスト版)

和柄の一つである市松模様のテキスト文字で表現する方法を紹介しています。

■新着情報

2021.08.04 書式指定でコンソール出力 printf()とは?

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

Topへ