Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Hàm Kiểm Tra Số Nguyên Tố,Hoàn Hảo Bằng Đệ Quy?

  1. #1
    Ngày gia nhập
    09 2010
    Bài viết
    8

    Mặc định Hàm Kiểm Tra Số Nguyên Tố,Hoàn Hảo Bằng Đệ Quy?

    Mấy anh giúp em nói cái giải thuật để ktra số nguyên tố và hoàn hảo bằng đệ quy với.Cám ơn nhiều.

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    PHP Code:
    #include<iostream>
    using namespace std;
    #include <conio.h>

    int nguyento(int n,int i=2)
    {
        if (
    n<4) return n>=2;
        if (
    n%i==0) return 0;
        return 
    i<sqrt(double(n))+1?nguyento(n,i+1):1;
    }

    void main()
    {
        
    printf("%d",nguyento(99));
        
    getch();

    Đã được chỉnh sửa lần cuối bởi langman : 21-10-2010 lúc 12:08 PM.
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  3. #3
    Ngày gia nhập
    06 2010
    Nơi ở
    Hà Nội
    Bài viết
    114

    anh langman ơi,đúng hay sai thì ó cũng trả về giá trị 1 à
    cái này thì em khó hiểu rồi anh giải thích em với
    em chỉ muốn học được nhiều cái hay của anh quá,nhiều cái hiểm quá
    hihi

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    hoàn hảo đệ quy
    PHP Code:
    #include<iostream>
    using namespace std;
    #include <conio.h>

    int hoanhao(int n,int i=1)
    {
        static 
    int temp;
        if (
    i==1temp=0;
        return (
    i<n)?temp+=(n%i==0)*i,hoanhao(n,i+1):temp==n;
    }

    void main()
    {
        
    printf("%d",hoanhao(6));
        
    getch();


    thấy thương nên tặng cho đoạn code hoàn hảo đệ quy nữa
    code dầy đủ dễ hiểu :
    PHP Code:
    #include<iostream>
    using namespace std;
    #include <conio.h>

    int hoanhao(int n,int i=1)
    {
        static 
    int temp;
        if (
    i==1temp=0;
        if (
    i<n)
        {
            
    temp+= (n%i==0)*i;
            
    hoanhao(n,i+1);

        }
        return 
    temp==n;
    }

    void main()
    {
        
    printf("%d",hoanhao(7));
        
    getch();


    Tất cả các code này đều chạy tốt với C++0x style, test trên VS2010, hàm main ở đây viết chỉ là để test hàm thui. tập trung chủ yếu vào các hàm ấy
    nếu bạn xài 1 số IDE khác, có thể có 1 số cảnh báo,
    có gì feedback lại để mình chỉ cho cách điều chỉnh thích hợp
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi nguyenthanhhai90vp Xem bài viết
    anh langman ơi,đúng hay sai thì ó cũng trả về giá trị 1 à
    cái này thì em khó hiểu rồi anh giải thích em với
    em chỉ muốn học được nhiều cái hay của anh quá,nhiều cái hiểm quá
    hihi
    a bị lộn mất 1 chỗ đấy là phải +1 vào sqrt

    a đã sửa lại rồi đấy, code cũng dễ hiểu hơi
    em thử xem
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  6. #6
    Ngày gia nhập
    06 2010
    Bài viết
    74

    Mặc định Hàm Kiểm Tra Số Nguyên Tố,Hoàn Hảo Bằng Đệ Quy?

    Giờ mới tin là mấy bài này có thể giải bằng đệ quy.con đường phía trước còn dài quá

  7. #7
    Ngày gia nhập
    09 2010
    Bài viết
    8

    Cái này viết bằng C dễ hiểu hơn anh ơi:

    PHP Code:
    //-------Ham Kiem Tra So Nguyen To---------
    int KiemTra_SNT(int n,int i)
    {
        
    int tong_uoc=0;
        if(
    i==n) return 1;
        else
            if(
    n%i==0)
                
    tong_uoc=1;
            return (
    tong_uoc KiemTra_SNT(ni+1));
    }
    //-------Ham Kiem Tra So Hoan Hao---------
    int KiemTra_SHH(int n,int i)
        {
        if (
    i==n) return 0;
        else
            if (
    n%i==0)
                return 
    KiemTra_SHH(n,i+1);
            else
                return 
    KiemTra_SHH(n,i+1);    


  8. #8
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Trích dẫn Nguyên bản được gửi bởi ckv2015 Xem bài viết
    Cái này viết bằng C dễ hiểu hơn anh ơi:

    PHP Code:
    //-------Ham Kiem Tra So Nguyen To---------
    int KiemTra_SNT(int n,int i)
    {
        
    int tong_uoc=0;
        if(
    i==n) return 1;
        else
            if(
    n%i==0)
                
    tong_uoc=1;
            return (
    tong_uoc KiemTra_SNT(ni+1));
    }
    //-------Ham Kiem Tra So Hoan Hao---------
    int KiemTra_SHH(int n,int i)
        {
        if (
    i==n) return 0;
        else
            if (
    n%i==0)
                return 
    KiemTra_SHH(n,i+1);
            else
                return 
    KiemTra_SHH(n,i+1);    

    Vậy là câu hỏi ban đầu của cậu là mang tính thách đố đấy à?? Giờ mới gặp một Topic thế này,

  9. #9
    Ngày gia nhập
    09 2010
    Bài viết
    8

    Trích dẫn Nguyên bản được gửi bởi peterdrew Xem bài viết
    Vậy là câu hỏi ban đầu của cậu là mang tính thách đố đấy à?? Giờ mới gặp một Topic thế này,
    Không phải đâu anh ơi,cái đó em làm ra sau này thôi,thấy dễ hiểu hơn nên em post lên cho mọi người tham khảo thôi chứ em còn gà lắm.

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

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 PM

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