Home [C# 筆記]基礎知識複習+練習 10-13
Post
Cancel

[C# 筆記]基礎知識複習+練習 10-13

練習10:計算1-100整數和

1
2
3
4
5
6
7
8
static int GetSum()
{
    int sum = 0;
    for (int i = 0; i < 101; i++) {
        sum += i;
    }
    return sum;
}

練習11:計算1-100偶數和

i從2開始,每次加2i+=2

1
2
3
4
5
6
7
8
9
static int GetEvenSum()
{
    int sum = 0;
    for (int i = 2; i < 101; i += 2)
    {
        sum += i;
    }
    return sum;
}

練習12:判斷是否為質數

  • 小於2不是質數 => i從2開始
  • 本身與它之前的數字取餘,除盡了,就不是質數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while (true)
{
    Console.WriteLine("請輸入數字");
    int n = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine(IsPrime(n));
}

static bool IsPrime(int n)
{
    //小於2不是質數
    if (n < 2) return false;

    for (int i = 2; i < n; i++)
    {
        //本身與之前的數取餘數,除盡了,不是質數
        if (n % i  == 0) return false;
    }
    return true;
}

練習13:計算1-100質數和

  • 第一個循環,用來遍歷1-100的數字
  • 第二個循環,用來判斷當前循環到的這個數字i是不是質數
  • 小於2不是質數,所以從2開始i=2 j=2
  • 判斷質數,本身要跟之前的數相除i%j==0,除到自身的前一位j<i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static int GetPrimeSum()
{
    int sum = 0;
    //第一個循環,遍歷1-100的數字
    for (int i = 2; i <= 100; i++) //小於2,不是質數,所以i從2開始
    {
        bool isPrime = true;
        //第二個循環,用來判斷是不是質數,本身除以之前的數,除到自身的前一位j<i
        for (int j = 2; j < i; j++)
        {
            //除盡了,就不是質數,跳出這個循環
            if (i % j == 0)
            {
                isPrime = false;
                break;
            }
        }
        if(isPrime) sum += i;
    }
    return sum;
}
This post is licensed under CC BY 4.0 by the author.