Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


60805 / 76737 ←次へ | 前へ→

【20566】Re:プログラミングの説明について
回答  ichinose  - 04/12/12(日) 11:46 -

引用なし
パスワード
   ▼てぃん さん、IROCさん、こんにちは。

>教えてください!大学でVBAのプログラミング
>についての問題をだされたのですがまったくわかりません…。
>「ユーグリッドの互除法を、2数を設定してマクロにより説明せよ。」

2数を割り算した余りと割った数をまた割り算して・・・
余りが0になるまで繰り返す方法でしたよね?

'=========================================================
Sub main()
  Dim GDC As Long
  Dim a As Long
  Dim b As Long
  a = 19: b = 18
  GDC = get_GCD(a, b)
  MsgBox a & " と " & b & "の" & vbLf & _
      "最大公約数: " & GDC & vbLf & _
      "最小公倍数: " & a * b / GDC
End Sub
'================================================================
Function get_GCD(n1 As Long, n2 As Long) As Long
  Dim big As Long
  Dim smll As Long
  Dim amari As Long
  If n1 >= n2 Then
   big = n1
   smll = n2
  Else
   big = n2
   smll = n1
   End If
  get_GCD = 1
  Do While smll <> 0
   amari = big Mod smll
   If amari = 0 Then
    get_GCD = smll
    End If
   big = smll
   smll = amari
   Loop
End Function

コメントは付けませんから、考えてみて下さい。

>という問題と、
>「倍精度で機械のエプシロンを出力するプログラムでセルのD54以降が
> 0となる。この理由を述べよ」
こっちは、まるっきり知らないのであしからず・・・。
0 hits

【20536】プログラミングの説明について てぃん 04/12/11(土) 18:43 質問
【20557】Re:プログラミングの説明について IROC 04/12/12(日) 1:26 回答
【20566】Re:プログラミングの説明について ichinose 04/12/12(日) 11:46 回答

60805 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free