返回列表 發帖

C# 7 309 階乘遞迴計算

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

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS03資料夾中的CSD03.cs進行編寫。依下列題意進行作答:輸入一個1-20的正整數,再輸出階乘計算結果,使輸出值符合題意要求。檔案名稱請另存新檔為CSA03.cs,儲存於C:\ANS.CSF\CS03資料夾,再進行評分。

2. 設計說明:
請在程式中撰寫一個compute的方法,接收Main()傳遞的一個1-20之間的正整數。
compute方法計算該數的階乘計算結果並回傳至Main(),若輸入值不在1-20範圍內或輸入文字,請輸出【error】。
階層的定義如下:
image alt

3. 輸入輸出:
輸入說明
1-20之間的正整數

輸出說明
階層計算結果(輸出最後一行後不自動換行)

範例輸入1
5
範例輸出1
120

範例輸入2
0
範例輸出2
error

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

  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.    
  9.     static void Main()
  10.     {
  11.        try
  12.         {
  13.             int number=Convert.ToInt32(Console.ReadLine());
  14.             if (number < 1 || number > 20)
  15.                 throw new Exception();
  16.             long x = compute(number);
  17.             Console.WriteLine(x);
  18.         }catch
  19.         {
  20.             Console.WriteLine("error");
  21.         }
  22.    

  23.     }
  24.     static long compute(long num)
  25.     {
  26.         if (num == 1)
  27.             return 1;
  28.         else
  29.             return compute(num - 1)*num;
  30.     }

  31. }
複製代碼
istak.teach2@gmail.com

TOP

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

  6. namespace CSA03
  7. {
  8.     class CSA03
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 int number = Convert.ToInt32(Console.ReadLine());
  15.                 if (number < 1 || number > 20) { throw new Exception(); }
  16.                 long x = compute(number);
  17.                
  18.                 Console.Write(x.ToString());
  19.             }
  20.             catch
  21.             {
  22.                 Console.Write("error");
  23.             }
  24.             Console.ReadKey();
  25.         }
  26.         // ==================================================
  27.         // Please write your code in the specified Method
  28.         // Do NOT change the method name, type of parameter
  29.         // ==================================================
  30.         static long compute(long num)
  31.         {
  32.             if (num == 1 )
  33.                 return 1;
  34.             return compute(num - 1) * num;
  35.         }
  36.   
  37.     }
  38. }
複製代碼
May

TOP

返回列表