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

    bài tập tìm số nguyên tố trong khoang a,b

    Mã:
    #include<stdio.h>
    #include<conio.h>
    
    int i;
    int ngo(int a ,int b)
    {		
    		int x;
    		for(i=a+1;i<b;i++)
    	{
    		for(x=2;x<=i;x++)
    		{
    		if(i%x==0)
    		return 0;
    		return 1;
    		}
    	}
    }
    int main()
    {
    	int a,b,k;
    	printf("nhap vao a: ");
    	scanf("%d",&a);
    	printf("nhap vao b: ");
    	scanf("%d",&b);
    	k=ngo(a,b);
    	if(k==1)
    	printf("day la so nguyen to %d",i);
    	else
    		printf("day ko phai la so nguyen to");
    	
    }
    các bạn giúp mình sửa bài này với. và mình muốn gan cac số trong khaong (a,b) vào 1 mảng. rồi xét số ng tố trong mảng đó. thì phải làm bằng cách nào..

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ngocanhan
    Mã:
    #include<stdio.h>
    #include<conio.h>
    
    int i;
    int ngo(int a ,int b)
    {		
    		int x;
    		for(i=a+1;i<b;i++)
    	{
    		for(x=2;x<=i;x++)
    		{
    		if(i%x==0)
    		return 0;
    		return 1;
    		}
    	}
    }
    int main()
    {
    	int a,b,k;
    	printf("nhap vao a: ");
    	scanf("%d",&a);
    	printf("nhap vao b: ");
    	scanf("%d",&b);
    	k=ngo(a,b);
    	if(k==1)
    	printf("day la so nguyen to %d",i);
    	else
    		printf("day ko phai la so nguyen to");
    	
    }
    các bạn giúp mình sửa bài này với. và mình muốn gan cac số trong khaong (a,b) vào 1 mảng. rồi xét số ng tố trong mảng đó. thì phải làm bằng cách nào..
    Bài code của bạn sẽ chỉ kiểm tra đúng 1 phần tử a+1 có chia hết cho 2 hay không, có thì trả về 0, không thì trả về 1. Ở đấy có thể bạn hiểu sai về cách dùng return. Con nếu bạn muốn gán các số nguyên trong khoảng a,b vào 1 mảng, đơn giản chi cần khai báo mảng rồi gán:
    for(i=a+1;i<b;i++)
    array[i-a-1]=i;

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    #include<stdio.h>#include<conio.h> int ngto(int i){           int x, n = i / 2;     for(x=2;x<n;x++)    {        if ((i % x) == 0)            return 0;    }     return 1;} int main(){    int i,a,b;        printf("nhap vao a: ");    scanf("%d",&a);    printf("nhap vao b: ");    scanf("%d",&b);     for (i=a;i<=b;i++)    {        if (ngto(i))            printf("%d
    ", i);    }     getch();}

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bài trên nếu nhập từ 1,2,3 vẫn lỗi mà

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi qu4ngco
    .... Con nếu bạn muốn gán các số nguyên trong khoảng a,b vào 1 mảng, đơn giản chi cần khai báo mảng rồi gán:
    for(i=a+1;i<b;i++)
    array[i-a-1]=i;
    code không sai nhưng khó hiểu.
    Giữa a và b có a-b+1 số tất cả. Như vậy ta chỉ cần tính sô pt của mảng, mỗi pt sẽ cho trị là i+a
    n = a-b+1; // trị này trước sau gì cũng phải tính
    for (i=0; i < n; i++)
    array[i] = i+a;

  6. #6
    Ngày tham gia
    Sep 2015
    Đang ở
    89 Tam Trinh - Hoàng Mai - Hà Nội
    Bài viết
    0
    Hihi , b-a+1 chứ tiền bối ^^.
    Làm việc cả ngày giờ mệt mỏi nên viết nhầm kìa [IMG]images/smilies/biggrin.png[/IMG] hehehe

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Ừ thì đại khái vậy.
    Thật ra công thức chính của nó là
    abs(a-b)+1
    Mình giản dị hóa trật chỗ.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã nguồn PHP:
    int checkPrimes(int n) { int count = 0; for(int i = 1; i <= n; i++) if(n % i == 0) count++; if(count == 2) return 1; return 0; } void OutputPrimes(int a, int b) // Xuat ra so nguyen to trong khoan a - b { printf("The results: "); for(int i = a; i < b; i++) { if(checkPrimes(i) == 1) { printf("%d ", i); } } printf("

    "
    ); } int _tmain(int argc, _TCHAR* argv[]) { int a; int b; printf("Input the a: "); scanf("%d", &a); printf("Input the b: "); scanf("%d", &b); if(a < b) { OutputPrimes(a, b); } else { printf("The a must be less than the b

    "
    ); } return 0; }  

 

 

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
  •