Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Giúp các bé đáng thương ấy với

Gameshow “Ai Là Triệu Phú” trên VTV đang chờ đón bạn – Tải ngay!

Bán đấu giá ủng hộ từ thiện

Ngập tràn ưu đãi cho tín đồ công nghệ tại sony show 2014

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tin tức công nghệ mới
kết quả từ 1 tới 11 trên 11
  1. #1
    besttide's Avatar
    besttide vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Jul 2009
    Đến từ
    TP.HCM
    Bài
    348
    Cảm ơn
    113
    Điểm
    988/107 bài viết

    Default Sửa dùm mình bài Liệt kê n số nguyên tố đầu tiên. L.Trình C?

    PHP Code:
    #include<conio.h>
    #include<stdio.h>
    int kt(int);
    void lietke(int);
    int kt(int n)
    {
        for(
    int i=2;i<n;i++)
            if(
    n%i==0)
                return 
    0;
            return 
    1;
    }
    void lietke(int n)
    {
        for(
    int i=1;i<n;i++)
        {
            if(
    kt(n)==1)
            {
            
    printf("\n%d",n);
            
    getch();
            }
        }
    }    
    void main()
    {
        
    clrscr();
        
    int n;
        
    printf("Nhap vao n: ");
        
    scanf("%d",&n);
        
    lietke(n);
        
    getch();

    Mình mới học về hàm nên còn kém. Code trên ko chạy, giúp mình nhé. Nếu được thì giảng mình hiểu nhé.

  2. #2
    redmu's Avatar
    redmu vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Aug 2011
    Bài
    715
    Cảm ơn
    177
    Điểm
    210/179 bài viết

    Default

    mình nghĩ số nguyên tố thì không có qui tắc , chỉ có thể kiểm tra số có phải là số nguyên tố hay không chứ làm sao xuất ra được , trừ phi chơi kiểu thủ công là mình lưu sẵn trong bộ nhớ dãy số nguyên tố trong 1000 số đầu tiên thì được ,, nhưng mà như thế thì còn gì là thuật toán nữa

  3. #3
    besttide's Avatar
    besttide vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Jul 2009
    Đến từ
    TP.HCM
    Bài
    348
    Cảm ơn
    113
    Điểm
    988/107 bài viết

    Default

    Trích redmu View Post
    mình nghĩ số nguyên tố thì không có qui tắc , chỉ có thể kiểm tra số có phải là số nguyên tố hay không chứ làm sao xuất ra được , trừ phi chơi kiểu thủ công là mình lưu sẵn trong bộ nhớ dãy số nguyên tố trong 1000 số đầu tiên thì được ,, nhưng mà như thế thì còn gì là thuật toán nữa
    Mới vào học C nên chưa làm nhiều thuật toán. Hôm nay mới học về hàm nên cô cho áp dụng thử với bài này. 1 hàm kiểm tra số nguyên tố, 1 hàm để liệt kê các số nguyên tố, 1 hàm chính.

  4. #4
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.776
    Cảm ơn
    1.540
    Điểm
    4.133/2.750 bài viết

    Default

    Trích redmu View Post
    mình nghĩ số nguyên tố thì không có qui tắc , chỉ có thể kiểm tra số có phải là số nguyên tố hay không chứ làm sao xuất ra được , trừ phi chơi kiểu thủ công là mình lưu sẵn trong bộ nhớ dãy số nguyên tố trong 1000 số đầu tiên thì được ,, nhưng mà như thế thì còn gì là thuật toán nữa
    Ko có quy luật thì ta kiểm tra từng số từ 1->n xem có số nào là ng to thì in ra

    Code:
    void lietke(int n)
    {
        for(int i=2;i<n;i++)//chạy từ 2 là đc r` vì 1 ko phải là SNT
        {
            if(kt(i)==1)//Trong vòng for i thì phải gọi i chứ
            {
            printf("\n%d",i);
            //getch();//cái này ko cần thiết
            }
        }
    }

  5. Có 1 thành viên cảm ơn Tung_Huynh cho bài viết này:
    besttide (09-12-2011)

  6. #5
    thanhendless's Avatar
    thanhendless vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Sep 2008
    Đến từ
    Bến Tre
    Bài
    444
    Cảm ơn
    177
    Điểm
    217/99 bài viết

    Default

    PHP Code:
    #include<conio.h>
    #include<stdio.h>
    #include <math.h>
    #include<iostream.h>

    bool kt(int x)
    {
        for(
    int i=2<=sqrt(x);i++)
            if(
    x%i==0)
                return 
    false;
        return 
    true;
    }

    void lietke(int n)
    {
        
    int dem;
            for(
    int i=2;;i++)
             if(
    kt(i))
            {
                
    cout<<"\t"<<i;    
                
    dem++;    
                if (
    dem >=n)
                return;
            }
    }    
    int main()
    {
        
    int n;
        
    cout<<"Nhap vao so n: ";
        
    cin>>n;
        
    cout<<"\n";
        
    lietke(n);
        
    getch();

    của bạn đây...nhưng viết bằng c++.
    thay mấy cái nhập xuất lại là thành borlan
    Thay đổi nội dung bởi thanhendless; 08-12-2011 lúc 23:57.

  7. Có 1 thành viên cảm ơn thanhendless cho bài viết này:
    besttide (09-12-2011)

  8. #6
    dinhka's Avatar
    dinhka vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Dec 2008
    Bài
    245
    Cảm ơn
    34
    Điểm
    64/43 bài viết

    Default

    vừa liệt kê vừa đếm, đếm bao giờ bằng n thì thoát vòng lặp

  9. Có 1 thành viên cảm ơn dinhka cho bài viết này:
    besttide (09-12-2011)

  10. #7
    nhocboy8909's Avatar
    nhocboy8909 vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Mar 2009
    Bài
    21
    Cảm ơn
    1
    Điểm
    2/2 bài viết

    Default

    của bạn đây, không sử dụng hàm, nếu muốn sử dụng hàm thì bạn sửa lại tí,
    PHP Code:
    #include<conio.h>
    #include<stdio.h>
       
    main()
    {
        
    clrscr();
            
    int n;
            
    printf("Nhap vao n: ");
            
    scanf("%d", &n);
            for(
    int i=2i<ni++) //neu su dung ham thi dua cai nay vao ham
            
    {
                
    int check=0;
            for(
    int j=2j<ij++)
                if(
    i%j==0
                    
    check++;
            if(
    check==0)
                
    printf("%d "i);
            }
            
    getch();
            return 
    0;

    Thay đổi nội dung bởi nhocboy8909; 09-12-2011 lúc 02:18.

  11. Có 1 thành viên cảm ơn nhocboy8909 cho bài viết này:
    besttide (09-12-2011)

  12. #8
    besttide's Avatar
    besttide vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Jul 2009
    Đến từ
    TP.HCM
    Bài
    348
    Cảm ơn
    113
    Điểm
    988/107 bài viết

    Default

    Thanks mọi người. Mình mới học hàm nên khó hiểu, bạn Tung_Huynh giảng dễ hiểu

    ---------- Bài thêm lúc 09:26 ---------- Bài trước là lúc 09:16 ----------

    Cho mình hỏi mở rộng chút. Nếu mình muốn nhập n và xuất ra đúng n số nguyên tố thì phải chèn thêm gì nữa? Vd nhập 5 thì xuất ra 2 3 5 7 11

  13. #9
    thanhendless's Avatar
    thanhendless vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Sep 2008
    Đến từ
    Bến Tre
    Bài
    444
    Cảm ơn
    177
    Điểm
    217/99 bài viết

    Default

    Cho mình hỏi mở rộng chút. Nếu mình muốn nhập n và xuất ra đúng n số nguyên tố thì phải chèn thêm gì nữa? Vd nhập 5 thì xuất ra 2 3 5 7 11
    mình đã viết rồi đó bạn...thay mấy cái chỗ nhập xuất lại là xong mà...dòng cout , cin lại bằng prinf, scanf gì đó..

  14. #10
    besttide's Avatar
    besttide vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Jul 2009
    Đến từ
    TP.HCM
    Bài
    348
    Cảm ơn
    113
    Điểm
    988/107 bài viết

    Default

    Trích thanhendless View Post
    mình đã viết rồi đó bạn...thay mấy cái chỗ nhập xuất lại là xong mà...dòng cout , cin lại bằng prinf, scanf gì đó..
    Thanks, mình hiểu rồi.

  15. #11
    winxpsp2's Avatar
    winxpsp2 vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Oct 2008
    Bài
    16
    Cảm ơn
    10
    Điểm: 3/1 bài viết

    Default

    Code:
    #include <iostream>
    #include <cmath>
    #include <iomanip>
    
    using namespace std;
    long n,a[10000000],i,j,k,b,f;
    
    int main() {
    	cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    	cout <<"nhap n "; cin>>n;
    	a[1]=2;a[2]=3;i=3;
    	while (i<=n){
    		for(j=a[i-1]+2;;j=j+2){
    			f=long(sqrt(j));
    			for(k=1;k<i;k++) {
    				b=0;
    				//cout<<i<<" "<<j<<" "<<k<<" "<<endl;
    				if(!(j%(a[k]))) {b=1;break;}
    				if(a[k]>f) break;
    			}
    			if(!b){
    				a[i]=j;
    				cout<<"so nguyen to thu "<< i<<" la      "<<j<<endl;
    				//file<<setw(15)<<i<<setw(15)<<j<<endl;
    				i++;
    				break;
    			}
    		}
    	}
    	return 0;
    }
    Thay đổi nội dung bởi winxpsp2; 24-05-2012 lúc 22:11.

 

 

Quyền sử dụng

  • 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ể tự sửa bài viết của mình
  •