Differences between revisions 4 and 5
Revision 4 as of 2018-10-10 14:48:59
Size: 957
Comment:
Revision 5 as of 2018-10-10 14:53:34
Size: 2830
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 )

    BP_02_007a_least_common_multiple.py

  • 解答は基本的に,下記 2 行の関数です.
    • 最大公約数から求めることができます.

    • 正整数 x}とに対して,gcd(x,y) × lcm( x, y ) == x ×  yという関係がある

      • したがってgcdが分かれば,lcmを求めることができる

   1 def lcm( x, y ):
   2     return( int( x * y / math.gcd( x, y ) ) )

   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 # ==============================================================================


SoftEng: Python/Prog/Practice/Basic/02/BP_007a (last edited 2018-10-28 14:44:37 by TadashiIijima)