đây là code số nguyên tố mong thầy và các bạn góp thêm ý kiến cho em

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

đây là code số nguyên tố mong thầy và các bạn góp thêm ý kiến cho em

Bài gửi  PhamVinhToan on 17/4/2016, 12:54

code:

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

int main()
{
   int i,n,t;
   printf("\n Nhap n: ");
   scanf("%d",&n);
   if(n>=0&&n<=2)
   printf("\n So %d La So Nguyen To!\n\n",n);
   else

if(n>=3)
   {
       for(i=1;i<=n-2;i++)
     {
       if(n%(i+1)==0)
        {
           t=0;
           break;
        }
        else
 
if(n%(i+1)!=0)
           t=1;

     }
     if(t==1)
     printf("\n So %d La So Nguyen To!\n\n",n);
     else
 
 if(t==0)
     printf("\n So %d Khong Phai So Nguyen To!\n\n",n);
    }


getch();
}

Admin:
Tập trung vào các bài tập đang thực hành thì thiết thực hơn !

PhamVinhToan

Tổng số bài gửi : 10
Join date : 17/02/2016
Age : 19
Đến từ : đăk nông

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: đây là code số nguyên tố mong thầy và các bạn góp thêm ý kiến cho em

Bài gửi  PhamVinhToan on 19/4/2016, 01:12

Dạ em xin lỗi thầy tại e thấy C++ nhiều cái hay nên em muốn thêm sâu vào nó hơn mong thầy giúp đỡ nhiều em cảm ơn thầy ạ!!

PhamVinhToan

Tổng số bài gửi : 10
Join date : 17/02/2016
Age : 19
Đến từ : đăk nông

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: đây là code số nguyên tố mong thầy và các bạn góp thêm ý kiến cho em

Bài gửi  NguyễnMinhHoàng45(HLT3) on 19/4/2016, 09:33

Bạn ơi,
mình có 1 số góp ý như sau nhé:
1. Bạn dư điều kiện kiểm tra if ở những chỗ else. đã else là trường hợp cuối rồi thì ko cần if nữa nhé. sẽ ảnh hưởng performance
2. Không chạy vòng lặp từ 1, vì số nào cũng chia hết cho 1.
3. không chia cho i + 1, chia cho i
4. chạy đến căn bậc 2 của n thôi. Ý tưởng như thế này, nếu 1 số không phải số nguyên tố thì nó sẽ chia hết cho 1 số nào đó khác 1 và khác chính nó đúng không?, như vậy kết quả phép chia là gì cũng là 1 số khác 1 và khác n.
như vậy 1 số a nào đó không phải ng tố sẽ có dạng a = x * y
như vậy ta sẽ các số x từ 2 đến căn bậc 2 của a là được, y sẽ bằng a/x nên ko cần xét nữa
5. không cần dùng biến đếm
6. khi chia hết cho số i nào đó có nghĩa nó không phải số nguyên tố.break vòng lặp ra và thông báo không phải ngto.
7. nếu i = (int) sqrt(n). số này là số nguyên tố.
chúc bạn thành công. Thân

Admin:
Hoan nghênh bạn Hoàng, một học sinh đã tốt nghiệp lâu rồi, nay trở lại Diễn đàn giúp các bạn khoá mới !

NguyễnMinhHoàng45(HLT3)

Tổng số bài gửi : 44
Join date : 17/02/2012
Age : 31
Đến từ : Viet Nam

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: đây là code số nguyên tố mong thầy và các bạn góp thêm ý kiến cho em

Bài gửi  Sponsored content Today at 14:46


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết