基本問題(7)
Contents
概要
*
ヒント
この課題で使うPythonの機能 (学習のヒント)
[ edit ]
この課題の解き方 (問題解決のヒント)
[ edit ]
- この課題の解き方 (問題解決のヒント) ....
最小公倍数lcmは,最大公約数から求めることができます.
正整数 xとyに対して,gcd(x,y) × lcm( x, y ) == x × yという関係があります
- したがってgcdが分かれば,lcmを簡単に求めることができます
- 関数lcm()を定義してください.
実行例
*
プログラム例: 本質的な部分 (授業中に順次公開します)
[ edit ]
- 解答は基本的に,下記 2 行の関数です.
最大公約数から求めることができます.
正整数 xとyに対して,gcd(x,y) × lcm( x, y ) == x × yという関係がある
- したがってgcdが分かれば,lcmを求めることができる
高度な話題 (授業中,もしくは授業後に順次公開します)
[ edit ]
⇒ 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします
- (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
- に関するものです.
プログラム例: 配布コード (授業中に順次公開します)
- 解答は基本的に,下記 2 行の関数です.
最大公約数から求めることができます.
正整数 xとyに対して,gcd(x,y) × lcm( x, y ) == x × yという関係がある
- したがってgcdが分かれば,lcmを求めることができる
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # ==============================================================================
4 # * Copyright (c) 2018 IIJIMA, Tadashi
5 # * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
6 # ==============================================================================
7 # ソフトウェア工学[02] 基本課題[02]-(007a) BP_02_007a_least_common_multiple.py
8 # BP(Basic Problem) 02-007a: 【関数定義】 【関数定義】 最小公倍数 lcm ( least common multiple )を求める関数を定義する
9 # 2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
10 # ==============================================================================
11 # ----- 数学関数を取り扱うためのmathモジュールをインポートする ------
12 import math
13 # ==============================================================================
14 # ===== 【関数定義】 最小公倍数 lcm ( least common multiple )を求める関数 =====
15 def lcm( x, y ):
16 return( int( x * y / math.gcd( x, y ) ) )
17 # ==============================================================================
18 # ===== 【メイン・プログラム】 =====
19 # ----- オープニングメッセージ -----
20 print( "最小公倍数数LCMを求めるを求める (二つの整数を入力してください): " )
21
22 # ----- パラメータの入力 -----
23 x = int( input( " 一つ目の整数を入力してください>>> " ) )
24 y = int( input( " 二つ目の整数を入力してください>>> " ) )
25
26 # ----- 結果の表示 ----
27 print( lcm( x, y ) )
28 # ==============================================================================