Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 27 kết quả

Đề tài: Tìm ƯCLN & BCNN của số tự nhiên

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Wink Tìm ƯCLN & BCNN của số tự nhiên

    Giúp đệ năm 1 với mấy huynh, mấy tỉ pro.
    Tìm ƯCLN & BCNN của n số tự nhiên.
    Nghĩ đau đầu quá mà chưa ra mấy anh oai.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    TP HCM
    Bài viết
    6

    Bài tập này thầy cho mà không có hướng dẫn cho newbie à?
    tìm UCLN của a, b thì dùng thuật toán Euclide
    tìm BCNN thì dùng công thức:BCNN = (a * b) / UCLN(a, b)
    thuật toán Euclide (đọc là Ơ-clít)

    Code:
    int kq = 0; //UCLN nằm trong kq
    a = abs(a); //chỉ làm việc với a >=0
    b = abs(b); //chỉ làm việc với b >=0
    while (a * b !=0 )
    {
          if (a >= b) 
               a = a % b;
          else
               b = b % a;
    }
    kq = a + b;
    chúc bạn thành công.

    Lưu ý: Để code vào trong tag code
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 28-01-2008 lúc 09:46 AM. Lý do: Nhắc nhở

  3. #3
    Ngày gia nhập
    01 2008
    Bài viết
    4

    Bài tìm UCLN nè:

    Code:
    #include <iostream.h>
    #include <conio.h>
    void main()
    {
      int a,b,r;
      int n1,n2;
      clrscr();
      cout<<endl<<"CHUONG TRINH TINH UCLN CUA 2 SO TU NHIEN";
      cout<<endl<<"Nhap vao 2 so can tinh: ";
      cin>>n1>>n2;
      if(n1>n2)
      {
       a=n1;
       b=n2;
      }
      else
      {
       a = n2;
       b = n1;
      }
      r = a%b; //tim so du cua a chia cho b
      //while(r!=0) //chung nao so du khac 0 thi con vao vong lap
      for(; r!=0 ; )
      {
         a=b;
         b=r;
         r = a%b;
      }
      cout<<endl<<Uoc chung lon nhat cua<<n1<<" va "<<n2<<"la"<<b;
      getch();
    }
    Còn BCNN thì công thức có bạn đưa lên rồi bạn cứ theo thế mà làm là ra ngay ý mà^^.
    Đã được chỉnh sửa lần cuối bởi traitimbanggia : 28-01-2008 lúc 10:32 AM.

  4. #4
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Tìm UCLN với BCNN của 2 số thì em làm được rồi, còn n số thì hix hix
    Mấy huynh xem zúp bài này sai chỗ nèo với
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int ucln(int a,int b)
    {
    	if(b=0) return a;
    		return ucln(b,a%b);
    }
    main()
    {
      int a[10],i,n,uc,bc;
    	printf("n= ");scanf("%d",&n);
    	for(i=0;i<n;i++){
    		printf("a[%d]= ",i);scanf("%d",&a[i]);
    	}
    	uc=ucln(a[0],a[1]);
    	
    	for(i=2;i<n;i++) uc=ucln(uc,a[i]);
    	printf("UCLN = %d",uc);
      getch();
    }
    Nó báo lỗi gì lạ quá, giải thích zùm đệ lun với
    Thank mấy huynh !

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Nó báo lỗi gì lạ quá, giải thích zùm đệ lun với
    Lỗi của bạn đâu ?

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    21

    Mặc định Tìm ƯCLN & BCNN của số tự nhiên

    thuật toán đơn giản và chính xác nề
    ........
    While (a khác b){
    if (a>b)
    a=a-b
    else
    b=b-a
    }
    uscln=a;
    }

  7. #7
    Ngày gia nhập
    12 2007
    Nơi ở
    giữa thiên đường và địa ngục
    Bài viết
    91

    hơ,ngừoi ta đang hỏi cho n số mà chứ có phải hai số đâu
    mình nghĩ thế này này :cứ tìm UCLN của 2 số một rồi lại tiếp tục tìm UCLN của các UCLN vừa tìm dc ở lần 1 thế nào chả ra
    VD:tin UCLN của 20,10,30,5
    tim UCLN của 20 và 10 là 10
    UCLN của 30 và 5 la 5
    UCLN cua 10 và 5 la 5
    =>UCLN cua chúng là 5
    mới có ý tuong con code để mai viết đang ăn jo
    Tinh Quái,

    Vâng, là Chjp Xinh. Đanh đá và điêu ngoa
    .

  8. #8
    Ngày gia nhập
    01 2008
    Bài viết
    4

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int ucln(int a,int b)
    {
    	if(b=0) return a;
    		return ucln(b,a%b);
    }
    main()
    {
      int a[10],i,n,uc,bc;
    	printf("n= ");scanf("%d",&n);
    	for(i=0;i<n;i++){
    		printf("a[%d]= ",i);scanf("%d",&a[i]);
    	}
    	uc=ucln(a[0],a[1]);
    	
    	for(i=2;i<n;i++) uc=ucln(uc,a[i]);
    	printf("UCLN = %d",uc);
      getch();
    }
    cái dòng đỏ là cái gì thế trời :|, kô hiểu 1 cái gì cả (lần đầu tui cũng mới thấy "b=0" , sửa lại chỗ đó thế này là ok nè
    Code:
    int ucln(int a,int b)
    {
    	if(a == b) 
    		return b;
    	if (a > b)
    		return ucln (a - b, b);
    	return ucln(a, b - a);
    }
    , mới "lon ton" vào C++ nên viết thử = C++ thử cho quen
    Code:
    #include<iostream>
    
    using std::cout;
    using std::cin;
    
    int ucln(int a,int b)
    {
    	if(a == b) 
    		return b;
    	if (a > b)
    		return ucln (a - b, b);
    	return ucln(a, b - a);
    }
    void main()
    {
    	int a[10],i,n,uc,bc;
    	cout << "n= ";
    	cin >> n;
    	for(i=0;i<n;i++){
    		cout << "Nhap so thu "<<i+1<<":";
    		cin >> a[i];
    	}
    	uc=ucln(a[0],a[1]);
    	
    	for(i=2;i<n;i++) {
    		uc=ucln(uc,a[i]);
    	}
    	cout << "UCLN = "<<uc<<"";
    }
    hơ,ngừoi ta đang hỏi cho n số mà chứ có phải hai số đâu
    mình nghĩ thế này này :cứ tìm UCLN của 2 số một rồi lại tiếp tục tìm UCLN của các UCLN vừa tìm dc ở lần 1 thế nào chả ra
    VD:tin UCLN của 20,10,30,5
    tim UCLN của 20 và 10 là 10
    UCLN của 30 và 5 la 5
    UCLN cua 10 và 5 la 5
    =>UCLN cua chúng là 5
    mới có ý tuong con code để mai viết đang ăn jo
    ăn nhiều wa' coi chừng béo ú đấy nhé

  9. #9
    Ngày gia nhập
    02 2008
    Bài viết
    3

    C++ Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int gcd(int a, int b)
    5.   {
    6.   if (b==0) return a;
    7.   return gcd(b,a%b);
    8.   }
    9. main()
    10. {
    11. int a, b;
    12. printf("a:");
    13. scanf("%d", &a);
    14. printf("b:");
    15. scanf("%d", &b);
    16. printf("UCLN cua %d va %d la %d", a,b,gcd(a,b));
    17. printf("\nBCNN cua %d va %d la %d", a,b,a*b/gcd(a,b));
    18. getch();
    19. }

    ---------
    Lưu ý đặt code vào tag nha bạn. Bạn mới tham gia, nên đọc kỹ nội quy
    Đã được chỉnh sửa lần cuối bởi Forlorn_hope : 06-03-2008 lúc 07:03 PM.

  10. #10
    Ngày gia nhập
    07 2010
    Bài viết
    37

    #include <stdio.h>

    int UCLN(int a, int b)
    {
    if (b==0)
    return a;
    return UCLN(b,a%b);/*Thuat toan de quy tinh UCLN*/
    }

    int main() /*day la function chinh , carry out caculating UCLN of n numbers*/
    {
    int a[10];
    int n,i,k;
    printf("input how many number :");
    scanf("%d",&n);
    for(i=0;i<=n-1;i++)
    {
    printf("input the number %d:",i+1);
    scanf("%d",&a[i]);
    if(i>0)
    {
    k=UCLN(a[0],a[i]);
    a[0]=k;
    }
    }
    printf("UCLN of %d number is %d",n,a[0]);
    }
    Con cai BCNN ban lam tuong tu nhe
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Bài tập C Tìm UCLN và BCNN của n số nguyên dương.
    Gửi bởi conrongchautien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 24-05-2011, 01:27 PM
  2. Kỹ thuật C++ Tính BCNN rồi tìm UCLN như thế nào???
    Gửi bởi BlackDiam0nd trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 21-12-2010, 08:05 AM
  3. Bài tập C++ cách sử dụng hàm in ra các số tự nhiên chẵn trong n số tự nhiên đầu tiên
    Gửi bởi tictic trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 17-04-2010, 01:17 PM
  4. Sửa giúp code Tìm BCNN của dãy số
    Gửi bởi mori trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 19-03-2009, 12:24 AM
  5. Tìm BCNN bằng đệ quy ?
    Gửi bởi tun_tun trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 21-04-2008, 12:10 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn