2020.07.08
公約数
はじめに
ここでいくつかの最大公約数の例を挙げます。
・6と12の公約数は、以下の4つです。
1、2、3、6
・42と14の公約数は、以下の4つです。
1、2、7、14
ここでは、2つの自然数の公約数を求めるプログラムを紹介します。
2つの値が6と12の場合、1から順番に割っていき、6と12の小さい方の6まで割っていきます。1~6で6と12を割っていき、割り切れた数を公約数とします。
Javaソースコード
CD_1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023
public class CD_1 { public static void main( String[] args ) { // 変数を宣言 int a, b, min; // 変数に値を代入 a = 6; b = 12; // 2つの数字の小さい数をminに代入 min = Math.min( a, b ); // 公約数を求めるループ for ( int i = 1; i <= min; ++ i ) { if ( 0 == ( a % i ) ) { if ( 0 == ( b % i ) ) { // aとbを割り切ったiが公約数 System.out.println( i ); } } } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis CD_1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac CD_1.java
実行
C:\talavax\javasample>java CD_1
出力結果
1 2 3 6
4つの公約数が正しく表示されました。
Javaソースコードの解説
ここからは、このソースコードを上から順番に解説していきます。
001
public class CD_1 {
クラス名を、CD_1としています。
002
public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
003 004
// 変数を宣言 int a, b, min;
変数を宣言しています。
006 007 008
// 変数に値を代入
a = 6;
b = 12;
010 011
// 2つの数字の小さい数をminに代入
min = Math.min( a, b );
013 014
// 公約数を求めるループ for ( int i = 1; i <= min; ++ i ) {
015 016 017 018
if ( 0 == ( a % i ) ) {
if ( 0 == ( b % i ) ) {
// aとbを割り切ったiが公約数
System.out.println( i );
以上です。
関連コンテンツ
割り算で「割り切れる」、「割り切れない」ってどういうこと?