返回列表 發帖

C# 7 205 最大公因數

TQC+ 物件導向程式語言
最新一次更新時間:2024-01-05 14:40:23

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS02資料夾中的CSD02.cs進行編寫。依下列題意進行作答:輸入兩個數字,判斷並輸出二者的最大公因數,使輸出值符合題意要求。檔案名稱請另存新檔為CSA02.cs,儲存於C:\ANS.CSF\CS02資料夾,再進行評分。

2. 設計說明:
請撰寫程式,讓使用者輸入兩個0至100之間的整數,輸出兩數的最大公因數,若輸入非上述情況的資料,請輸出【error】。

3. 輸入輸出:
輸入說明
兩個0至100之間的整數

輸出說明
最大公因數(輸出最後一行後不自動換行)

範例輸入1
15
48
範例輸出1
3

範例輸入2
30
C#
範例輸出2
error

4. 評分項目:
(1) 符合設計說明輸出正確格式配分        10
May

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;

  6. namespace CSA02
  7. {
  8.     class CSA02
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 int x1, x2;
  15.                 x1 = Convert.ToInt32(Console.ReadLine());
  16.                 x2 = Convert.ToInt32(Console.ReadLine());
  17.                 if (x1 < 0 || x1 > 100 || x2 < 0 || x2 > 100)
  18.                 {
  19.                     throw new ArgumentException();
  20.                 }
  21.                 Console.Write(GCD(x1, x2));
  22.             }
  23.             catch
  24.             {
  25.                 Console.Write("error");
  26.             }
  27.             Console.ReadKey();
  28.         }

  29.         static int GCD(int x1, int x2)
  30.         {
  31.             if (x1 == 0)
  32.             {
  33.                 return x2;
  34.             }
  35.             else if (x2 == 0)
  36.             {
  37.                 return x1;
  38.             }
  39.             else
  40.             {
  41.                 int reminder = x1 % x2;
  42.                 return GCD(x2, reminder);
  43.             }
  44.         }
  45.     }
  46. }
複製代碼
May

TOP

  1. using ConsoleApp1;
  2. using System;//程式庫呼叫
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq.Expressions;
  5. using ABC.qq;


  6. class Program//負責一部分工作的人
  7. {
  8.     static void Main()//method ..Entry Point 程式進入點
  9.     {
  10.         try
  11.         {
  12.             int x1, x2;
  13.             x1 = Convert.ToInt32(Console.ReadLine());
  14.             x2 = Convert.ToInt32(Console.ReadLine());
  15.             if (x1 < 0 || x1 > 100 || x2 < 0 || x2 > 100)
  16.             {
  17.                 throw new ArgumentException();
  18.             }
  19.             Console.WriteLine(GCD(x1,x2));
  20.         }
  21.         catch
  22.         {
  23.             Console.WriteLine("error");
  24.         }
  25.     }
  26.     static int GCD(int x1,int x2)
  27.     {
  28.         if (x1 % x2 == 0)
  29.             return x2;
  30.         else
  31.             return GCD(x2, x1 % x2);
  32.     }
  33. }
  34.     /*
  35.      * ArgumentException是一個自訂「合法參數」的例外,
  36.      * ArgumentException類別所接受的合法參數,是由程式設計師自行設定的。
  37.      *
  38.      * FormatException當參數格式不符合呼叫的方法的參數規範時引發的異常.
  39.      */
複製代碼
istak.teach2@gmail.com

TOP

返回列表