2021年4月27日 星期二

2.簡單小程式 - 瘋狂程式

A007:最大公因數之公因數最大法

題目

最大公因數之公因數最大法


輸入兩個整數 x y,輸出 x , y 的最大公因數。

                Console.WriteLine("輸入兩個數");
                int a = Convert.ToInt32(Console.ReadLine());
                int b = Convert.ToInt32(Console.ReadLine());
                a = (a > 0) ? a : -a;
                b = (b > 0) ? b : -b;
                if (b>a)
                {
                    int temp = a;
                    a = b;
                    b = temp;
                }
                while (b > 0)
                {
                    int r = a % b;
                    a = b;
                    b = r;
                }
                Console.WriteLine("最大公因數為{0}\n", a);

 

M90H017:最小公倍數(2)

題目

最小公倍數(2)


輸入2整數,輸出其最小正公倍數。

                Console.WriteLine("輸入兩個數");
                int a = Math.Abs(Convert.ToInt32(Console.ReadLine())), max = 0;
                int b = Math.Abs(Convert.ToInt32(Console.ReadLine())), min = 0;
                if (b > a)
                {
                    int temp = a;
                    max = a = b;
                    min = b = temp;
                }
                while (min > 0)
                {
                    int r = max % min;
                    max = min;
                    min = r;
                }
                Console.WriteLine("最小公倍數為{0}\n", a*b/max);

 

A009:質數判別

題目

質數判別


輸入一個正整數,如果是質數,則輸出 Yes,如果不是,則輸出 No

                double n = Convert.ToDouble(Console.ReadLine());
                double Sqrt = Math.Ceiling(Math.Sqrt(n));
                bool Prime = true;
                for (int i = 2; i <= (int)Sqrt; i++)
                {
                    if (n % i == 0)
                    {
                        Prime = false;
                        break;
                    }
                }
                if (Prime) Console.WriteLine("yes 是質數");
                else Console.WriteLine("no 不是質數");

 

A020:韓信點兵

題目

韓信點兵


韓信點兵 7個一數剩3, 9個一數剩4, 10個一數剩2, 11個一數剩1個 請問韓信兵團至少有多少人?

                for (int i = 0; ;i++ )
                {
                    if (i % 7 == 3 && i % 9 == 4 && i % 10 == 2 && i % 11 == 1)
                    {
                        Console.WriteLine(i);
                        break;
                    }
                }

 

A024:級數

題目

級數


輸入一個正整數N 。輸出1*3+3*5+5*7+...+(2N-1)(2N+1)之值。

                int sum = 0, n = Convert.ToInt32(Console.ReadLine());
                for (int i = 1; i <= n; i++)
                    sum += (2 * i - 1) * (2 * i + 1);
                Console.WriteLine(sum);

 

A045:大樂透包牌

(所有子集合)

題目

大樂透包牌


大樂透從149號中選6個號碼,開獎時共開出6個號碼及1個特別號,6個號碼全中者得頭獎。 阿平每期計算明牌,挑出8個號碼,想要將所有由這8個號碼所組的6個號碼全部簽。 請你設計程式供阿平輸入此8個號碼,然後印出所有的簽牌可能。

                List<int> Num = new List<int>();
                for (int i = 0; i < 8; i++)
                    Num.Add(Convert.ToInt32(Console.ReadLine()));
                Num.Sort();
                for (int i = 0; i < 8; i++)
                {
                    for (int j = i + 1; j < 8; j++)
                    {
                        for (int k = 0; k < 8; k++)
                            if (k != i && k != j)
                                Console.Write("-{0}", Num[k]);
                        Console.WriteLine();
                    }
                }

 

F024:23的倍數

題目

23的倍數


輸入一整數n,輸出比n小的正數且是(2的倍數或3的倍數)

                 int n = Convert.ToInt32(Console.ReadLine()), line = 0;
                for (int i = 1; i <= n; i++)
                {
                    if (i % 2 == 0 || i % 3 == 0)
                    {
                        Console.Write("{0} ",i);
                        line++;
                    }
                    if (line % 10 == 0) Console.WriteLine();
                }

 

 


2021年4月26日 星期一

1.簡單小程式 - 瘋狂程式

 

M90H007:考試調分(低成60100)

題目

考試調分(低成60100)


在一次程設小考中,同學成績表現不好,老師決定採線性調整分數,將最低分調成60分,將最高分調成100分。所有同學的調整後的分數採四捨五入進整數。
輸入60個同學的成績,輸出同學調整後的成績。

            int min = 100, Max = 0, n = 60;
            int[] Student = new int[n];           
            for (int i = 0; i < n; i++)
            {
                int fraction = Convert.ToInt32(Console.ReadLine());
                Student[i] = fraction;
                if (fraction > Max) Max = fraction;//最高成績
                if (fraction < min) min = fraction;//最低成績
            }
            for (int i = 0; i < n; i++)
                Console.WriteLine("學生{0}: {1}\n", i+1, (40 * (Student[i] - min) / (Max - min)) + 60);

A003:攝氏轉華氏

題目

攝氏轉華氏


輸入攝氏溫度,輸出華氏溫度。(華式F)=(攝氏C)*9/5+32,小數部分請無條件捨去。

            int Celsius = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Fahrenheit = {0}", Celsius * 9 / 5 + 32);

F002:溢位數-int

題目

溢位數-int


完成程式寫作,使其輸出與標準程式相同。

鍵詞

<:鍵詞 至少=0 最多=0 擁有=9999>2<:>
<:鍵詞 至少=0 最多=0 擁有=9999>3<:>
<:鍵詞 至少=0 最多=0 擁有=9999>4<:>
<:鍵詞 至少=0 最多=0 擁有=9999>5<:>
<:鍵詞 至少=0 最多=0 擁有=9999>6<:>
<:鍵詞 至少=0 最多=0 擁有=9999>8<:>
<:鍵詞 至少=0 最多=0 擁有=9999>9<:>
<:鍵詞 至少=0 最多=0 擁有=9999>MAX<:>

                int i = 0;
                bool c = true;
                while (c)
                {
                    i += 1;
                    if(i<0)
                    {
                        c = false;
                        i -= 1;
                    }
                }
                Console.WriteLine("{0}, {1}", i, i+1);


F007:輸入ASCII及字元顯示

題目

輸入ASCII及字元顯示
輸入一個ASCII數字,輸出數所代表之字元及ASCII碼,再輸出ASCII表上的下一個字元及其ASCII

                char c = Convert.ToChar(Console.ReadLine());
                Console.WriteLine("輸入 {0}: ASCII {1}", c, (int)c);
                Console.WriteLine("下個 {0}: ASCII {1}\n", (char)(c+1), (int)c+1);


G008:小寫轉大寫

題目

小寫轉大寫


輸入一英文連字串,將所有英文字母轉成大寫印出。

                int gap = 'a'-'A';
                char c = Convert.ToChar(Console.ReadLine());
                Console.WriteLine("小寫 {0} 轉大寫 {1}",c,(char)((int)c-gap));


 

M90H010:2^x個位數疊加

題目

2^x個位數疊加


輸入一整數n,計算 21+22+23+24+...+2n之個位數。

方法一

    int Anwser = 0, x = Convert.ToInt32(Console.ReadLine());

    for (int i = 1; i <= x; i++)
    {
        int t = 1;
        //for (int j = 1; j <= i; j++) t *= 2;
        Anwser += (int)Math.Pow(2,i);
    }
    Console.WriteLine(Anwser+"\n");

方法2

        int x = Convert.ToInt32(Console.ReadLine()), Anwser = x % 4;
        switch (Anwser)
        {
            case 1:
                Console.WriteLine("輸出:" + 2);
                break;
            case 2:
                Console.WriteLine("輸出:" + 6);
                break;
            case 3:
                Console.WriteLine("輸出:" + 4);
                break;
            case 0:
                Console.WriteLine("輸出:" + 0);
                break;
            default:
                break;
        }

WinFormTb02

https://drive.google.com/drive/u/0/folders/1UwS9FZ3ELCOK6SAwirHrkxq3z_RSbxJt https://www.youtube.com/watch?v=k7IkIeww_U0&list=PLumjEWemD...