Size: 957
Comment:
|
Size: 2829
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 18: | Line 18: |
* 解答は基本的に,下記 行です. * 問題の回答としては,これだけで十分です. * 自分自身のソフトウェア開発のためには,できるだけコメントをつける習慣をもってください. |
* 解答は基本的に,下記 2 行の関数です. * [[https://ja.wikipedia.org/wiki/最大公約数|最大公約数]]から求めることができます. * 正整数 {{{x}}}と{{{y}}}に対して,{{{gcd(x,y) × lcm( x, y ) == x × y}}}という関係がある * したがってgcdが分かれば,lcmを求めることができる |
Line 23: | Line 25: |
def lcm( x, y ): return( int( x * y / math.gcd( x, y ) ) ) |
|
Line 26: | Line 29: |
* | |
Line 29: | Line 31: |
#!/usr/bin/env python # -*- coding: utf-8 -*- # ============================================================================== # * Copyright (c) 2018 IIJIMA, Tadashi # * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University). # ============================================================================== # ソフトウェア工学[02] 基本課題[02]-(007a) BP_02_007a_least_common_multiple.py # BP(Basic Problem) 02-007a: 【関数定義】 【関数定義】 最小公倍数 lcm ( least common multiple )を求める関数を定義する # 2018-10-03 飯島 正 (iijima@ae.keio.ac.jp) # ============================================================================== # ----- 数学関数を取り扱うためのmathモジュールをインポートする ------ import math # ============================================================================== # ===== 【関数定義】 最小公倍数 lcm ( least common multiple )を求める関数 ===== def lcm( x, y ): return( int( x * y / math.gcd( x, y ) ) ) # ============================================================================== # ===== 【メイン・プログラム】 ===== # ----- オープニングメッセージ ----- print( "最小公倍数数LCMを求めるを求める (二つの整数を入力してください): " ) # ----- パラメータの入力 ----- x = int( input( " 一つ目の整数を入力してください>>> " ) ) y = int( input( " 二つ目の整数を入力してください>>> " ) ) # ----- 結果の表示 ---- print( lcm( x, y ) ) # ============================================================================== |
|
Line 34: | Line 65: |
基本問題(7)
演習(7)
基本課題(7a)
【関数定義】
最小公倍数 lcm ( least common multiple )
- 解答は基本的に,下記 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 # ==============================================================================