Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

โปรแกรม C# หาตัวประกอบ (Factors) ของจำนวนที่ป้อน

ตัวประกอบ (Factor) ของจำนวนเต็ม n คือ จำนวนที่หาร n ลงตัว (เศษ = 0) โปรแกรมนี้รับค่าจากผู้ใช้ แล้วหาตัวประกอบทั้งหมด

อัลกอริทึม

  1. รับค่า n จากผู้ใช้
  2. วนลูป i = 1 ถึง n
  3. ถ้า n % i == 0 แสดงว่า i เป็นตัวประกอบ

ตัวอย่างโค้ด

using System;

namespace Demo
{
    class MyApplication
    {
        static void Main(string[] args)
        {
            Console.Write("ป้อนจำนวนเต็ม: ");
            int n = int.Parse(Console.ReadLine());
            
            Console.WriteLine("ตัวประกอบของ " + n + ":");
            
            for (int i = 1; i <= n; i++)
            {
                if (n % i == 0)
                {
                    Console.WriteLine(i);
                }
            }
            
            Console.ReadLine();
        }
    }
}

ผลลัพธ์ตัวอย่าง (n = 12)

ป้อนจำนวนเต็ม: 12
ตัวประกอบของ 12:
1
2
3
4
6
12

การเพิ่มประสิทธิภาพ (Optimization)

แทนที่จะลูป 1 ถึง n สามารถลูปแค่ 1 ถึง √n ได้:

for (int i = 1; i * i <= n; i++)
{
    if (n % i == 0)
    {
        Console.WriteLine(i);
        if (i != n / i) // หลีกเลี่ยงซ้ำเมื่อ i = √n
            Console.WriteLine(n / i);
    }
}

ซับซ้อนกว่าเล็กน้อย แต่เร็วขึ้นมากสำหรับตัวเลขใหญ่ (O(√n) แทน O(n))