Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 16
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    [QUOTE=xuyenit55;225379]
    Mã:
    int nt ( int n ){  if ( n < 2 ) return 0;  for ( int i = 2 ; i <=sqrt(n) ; i++){        if ( n % i==0 )      return 0;}return 1;} void snt(int n){    cout<<"Day cac so nguyen to: 
    ";    for(int i=2;i<=n;i++)    {        if(nt(i))               cout<<"  "<<a[i];    }    cout<<"
    ";}
    lắp vào ok rồi.hì hì
    Thêm cái #include<math.h> nữa là ổn. nhưng mà sao mình nhập 1,5,8,9 thì nó kêu 8,9 cũng là số nguyên tố ???
    Bạn cho mình hỏi thêm nữa là return 0, return 1, break nghĩa là gì vậy? Thây nói nó có nghĩa là quay lại gì gì đó nhưng minh không hiểu lắm

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    [QUOTE=hongle516;225460]
    Trích dẫn Gửi bởi xuyenit55
    Mã:
    int nt ( int n ){  if ( n < 2 ) return 0;  for ( int i = 2 ; i <=sqrt(n) ; i++){        if ( n % i==0 )      return 0;}return 1;} void snt(int n){    cout<<"Day cac so nguyen to: 
    ";    for(int i=2;i<=n;i++)    {        if(nt(i))               cout<<"  "<<a[i];    }    cout<<"
    ";}
    lắp vào ok rồi.hì hì
    Thêm cái #include<math.h> nữa là ổn. nhưng mà sao mình nhập 1,5,8,9 thì nó kêu 8,9 cũng là số nguyên tố ???
    Bạn cho mình hỏi thêm nữa là return 0, return 1, break nghĩa là gì vậy? Thây nói nó có nghĩa là quay lại gì gì đó nhưng minh không hiểu lắm
    Mã:
     bool kiemtra(unsigned n){       int i;       if((n==2)||(n==3)) return true;       for(i=2; i<=sqrt(n); i++){              if(n%i==0)                     return false;       }       return true;}
    bạn có thể tham khảo thêm bài của mình. bạn xuyenit làm theo kiểu của c.
    mà trong c ko có kiểu bool. nên 0 tương ứng với false
    còn 1 tương ứng với true.mà khi có return rùi thì ko có break nữa
    vì nó đã trả về giá trị của hàm và kết thúc hàm

  4. #4
    Trích dẫn Gửi bởi beautifulsoul84hung
    bạn có thể tham khảo thêm bài của mình. bạn xuyenit làm theo kiểu của c.
    mà trong c ko có kiểu bool. nên 0 tương ứng với false
    còn 1 tương ứng với true.mà khi có return rùi thì ko có break nữa
    vì nó đã trả về giá trị của hàm và kết thúc hàm
    Nhưng kiểu làm của bạn có nhiều lệnh thầy ko dạy mình chẳng hiểu chi hết à.
    Mà đã học xong phần lý thuyết rồi tuần sau là nhảy sang thực hành à.
    Và trong bài này

    Mã:
    int n;int giaithua(int m){    if(m==1)    return 1;    else    return m*giaithua(m-1);}
    return m*giaithua(m-1) là sao nhỉ?
    return to quá

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi hongle516
    Nhưng kiểu làm của bạn có nhiều lệnh thầy ko dạy mình chẳng hiểu chi hết à.
    Mà đã học xong phần lý thuyết rồi tuần sau là nhảy sang thực hành à.
    thực ra mấy cái mình học trên lớp chỉ là thầy cô hướng dẫn
    chứ ko có ở đâu thầy cô dạy chi tiết đâu bạn ah. mấy thứ mình làm chỉ đơn thuần
    chứ ko có cao siêu j đâu^^!~. để mình chú thích cho bài của bạn xuyenit giúp bạn


    Mã:
    int nt ( int n )// n o day chi la tham so hinh thuc. ban co the thay la a b c....                // mien la trong ham ban phai su dung no{  if ( n < 2 ) return 0;// return 0 co nghia la nt(n)=0 neu nhu n<2                        // minh hieu voi nhau la no la so nguyen to                        // ban hoan toan co the thay la 1 hoac.....  for ( int i = 2 ; i <=sqrt(n) ; i++){        if ( n % i==0 )      return 0;}return 1;// tuong tu thi day dc hieu gia tri cua ham tra ve la 1         //=> khong phai la so nguyen to} void snt(int n){    cout<<"Day cac so nguyen to: 
    ";    for(int i=2;i<=n;i++)    {        if(nt(i))       // goi ham.                        // if(nt(i)!=0) thi no la so  nguyen to                        // vi mac dinh o tren 0 la so nguyen to        cout<<"  "<<a[i];    }    cout<<"
    ";}
    Mã:
    int n;int giaithua(int m){    if(m==1)// nếu mà m=1 thì giai thừa = chính nó    return 1;// đây là giá trị trả về của hàm và =1;    else    return m*giaithua(m-1);// nếu không thì m!= m*(giaithua(m-1));                                    // nó kiểm tra m-1 có bằng 1 hay ko                                    // nếu ko thì lại làm tiếp m!=m*(m-1)*giaithua(m-2);                                    // cứ như công thức tính giai thừa bt                                    // giá trị trả về cuối cùng = m*(m-1)*...1;}
    đây là hàm đệ quy. bạn nên tự tìm hiểu lý thuyết của phần này để dễ làm hơn
    nói qua thì đây là hàm gọi lại chính nó.
    những bài nào không làm đc theo cách thường thì nên làm theo cách này
    vì cách này chỉ đẹp mắt nhưng độ chậm

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    beautifulsoul84hung cho mình hỏi thêm
    sao mình làm như thế này rồi
    nhập 1.3.4.6.7 vào thì số nguyên tố lại là 3.4.7 nhỉ?

    Mã:
    #include<iostream.h>int n,a[100];void nhap(int &n){    cout<<"
     Nhap so phan tu:";    cin>>n;    for(int i=1;i<=n;i++)    {        cout<<"a["<<i<<"]=";        cin>>a[i];    }    cout<<"
    ";}void hienthi(int n){    cout<<"
     Day vua nhap la:";    cout<<"
    ";    for(int i=1;i<=n;i++)    cout<<"  "<<a[i];    cout<<"
    ";}int nt(int m){    if(m<2)    return 0;    for(int i=2;i<=m/2;i++)    {        if(m%i==0)        return 0;    }    return 1;}void snt(int n){    cout<<"Day cac so nguyen to: 
    ";    for(int i=1;i<=n;i++)    {        if(nt(i))              cout<<"  "<<a[i];    }    cout<<"
    ";}main(){    nhap(n);    cout<<"
    ";    hienthi(n);    cout<<"
    ";    snt(n);    cout<<"
    ";}

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    void snt(int n)
    {
    cout<<"Day cac so nguyen to:
    ";
    for(int i=1;i<=n;i++)
    {
    if(nt(i))
    cout<<" "<<a[i];
    }
    cout<<"
    ";
    }
    bạn làm mình tìm mãi phần kiểm tra số nguyên tố xem nó sai ở đâu
    hic. tìm mãi ko ra....... thực chất là bạn sai ở phần trên[IMG]images/smilies/biggrin.png[/IMG]


    Mã:
    if(nt(i))
    bạn đang tìm số nguyên tố của số thứ tự [IMG]images/smilies/biggrin.png[/IMG]

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    [QUOTE=hongle516;225460]
    Trích dẫn Gửi bởi xuyenit55
    Mã:
    int nt ( int n ){  if ( n < 2 ) return 0;  for ( int i = 2 ; i <=sqrt(n) ; i++){        if ( n % i==0 )      return 0;}return 1;} void snt(int n){    cout<<"Day cac so nguyen to: 
    ";    for(int i=2;i<=n;i++)    {        if(nt(i))               cout<<"  "<<i<< endl;    }    cout<<"
    ";}
    lắp vào ok rồi.hì hì
    Thêm cái #include<math.h> nữa là ổn. nhưng mà sao mình nhập 1,5,8,9 thì nó kêu 8,9 cũng là số nguyên tố ???
    Bạn cho mình hỏi thêm nữa là return 0, return 1, break nghĩa là gì vậy? Thây nói nó có nghĩa là quay lại gì gì đó nhưng minh không hiểu lắm
    xin lỗi nhé ! nhầm i thành a[i];


    Mã:
    #include<iostream>#include<math.h>using namespace std;int kiemtra ( int n ){    if ( n <2 ) return 0;    for ( int i = 2 ; i <= sqrt( n ) ; i++)    {        if ( n % i == 0)        {            return 0;        }    }     return 1;}int main(){    int n , i;    cout<<" nhap n = ";    cin>>n;    for ( i = 2 ; i < n ; i++)    {        if ( kiemtra ( i))        {            cout<< i << " , " ;        }}system ("pause");return 0;}

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi beautifulsoul84hung
    bạn làm mình tìm mãi phần kiểm tra số nguyên tố xem nó sai ở đâu
    hic. tìm mãi ko ra....... thực chất là bạn sai ở phần trên[IMG]images/smilies/biggrin.png[/IMG]


    Mã:
    if(nt(i))
    bạn đang tìm số nguyên tố của số thứ tự [IMG]images/smilies/biggrin.png[/IMG]
    Làm được rồi, đúng là nhầm thật
    Sửa if(nt(i)) = if(nt(a[i])) là ok

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Lỗi bài toán "In số nguyên tố"

    Giúp tớ với. Nó báo 2 lỗi sai ở phần void snt à(dòng 25 và 40), tớ dùng C-Free 5
    Thầy nói để 1 là số nguyên tố cũng đc nên tớ làm theo thầy

    Đề bài:

    Mã:
    Nhập vào máy dãy n số nguyêna)In dãyb)In số nguyên tố
    Bài làm:

    Mã:
    #include<iostream.h>int n,a[100];void nhap(int &n){    cout<<"
     Nhap so phan tu:";    cin>>n;    for(int i=1;i<=n;i++)    {        cout<<"a["<<i<<"]=";        cin>>a[i];    }    cout<<"
    ";}void hienthi(int n){    cout<<"
     Day vua nhap la:";    cout<<"
    ";    for(int i=1;i<=n;i++)    cout<<"  "<<a[i];    cout<<"
    ";} void snt(int n){    int nt(int m)    {           //sai ở đây        int kt=0;        for(int i=1;i<=m/2;i++)        {            if(m%i==0)            kt+=1;        }        if(kt>1)        return 0;        else        return 1;    }    cout<<"Day cac so nguyen to: 
    ";    for(int i=1;i<=n;i++)    {        if(nt(i))       //sai ở đây        cout<<"  "<<a[i];    }    cout<<"
    ";}main(){    nhap(n);    cout<<"
    ";    hienthi(n);    cout<<"
    ";    snt(n);    cout<<"
    ";}

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •