Bài tập C# - Lớp: Tìm ước chung lớn nhất của 2 số nguyên (UCLN)

Thảo luận trong 'C#' bắt đầu bởi sunboy, 22 Tháng mười hai 2010.

  1. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Bài 1 C#: Tìm ước chung lớn nhất của 2 số nguyên (UCLN). Thực hiện trên Console App

    Mã:
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace UCLNConsole
    {
        class UCNL
        {
            public int giatria;
            public int giatrib;
            public UCNL()
            {
                giatria = 0;
                giatrib = 0;
            }
            public void nhap()
            {
                Console.WriteLine("Moi nhap gia tri a: ");
                giatria = int.Parse(Console.ReadLine());
                Console.WriteLine("Moi nhap gia tri b: ");
                giatrib = int.Parse(Console.ReadLine());
            }
            public int tinh()
            {
                
                while (giatria != giatrib)
                {
                    if (giatria > giatrib)
                        giatria = giatria - giatrib;
                    else
                        giatrib = giatrib - giatria;
                }
                return giatria;
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                
                UCNL u1 = new UCNL();
                u1.nhap();
                Console.WriteLine("UCLN cua gia tri a va gia tri b la: {0}",u1.tinh());
                Console.ReadLine();
    
            }
        }
    }
    Mọi người xem có sai chổ nào thì cứ PM nhé!
    -SUN-
  2. Offline

    Ronaldo

    • Friends

    Số bài viết:
    1.313
    Đã được thích:
    321
    Điểm thành tích:
    220
    Mã:
                while (giatria != giatrib)
                {
                    if (giatria > giatrib)
                        giatria = giatria - giatrib;
                    else
                        giatrib = giatrib - giatria;
                }
    
    Đoạn code này sao tính ra được UCLN nhỉ? ví dụ nhập vào 2 số 5 và 4

    theo thuật toán thì 5>4, 5-4=1... -> 1 là UCLN--> có đúng đâu ta
  3. Offline

    Chiefree

    • Thành viên sáng lập

    Số bài viết:
    438
    Đã được thích:
    268
    Điểm thành tích:
    220
    Đây chính xác là thuật toán tìm UCLN.
    Hì hì. Cho mình hỏi chút với. Cái {0} để làm gì vậy? Chưa được học C# nên không biết.
  4. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Cái {0} tương tự cái %d trong C . Vị trí cái u1.tinh() khi xuất ra ấy mà..
    Chiefree thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí