Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

kiến thức về hàm

21:45 21-03-2022 515 lượt xem 1 bình luận

cho em hỏi bài này với ạ

viết chương trình cho phép nhập vào từ bàn phím một số nguyên dương > 5. Kiểm tra số đó có phải là số nguyên tố không, nếu phải thì tách thành tổng của 3 số nguyên tố. Đưa ra màn hình 3 số nguyên tố thoả mãn yêu cầu.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
xthientaix đã bình luận 23:42 28-03-2022

thuật toán thì mình nghĩ như này , bạn tự code theo ý tưởng này nha :

lý thuyết :

- số nguyên tố là số lẻ (trừ số 2 là ngoại lệ) và số nguyên tố lẻ nhỏ nhất là 3 . 1 Số nguyên tố N > 5 luôn có thể tách thành N = 3 + x + y , trong đó x có thể bằng y và đều là số nguyên tố lẻ , ví dụ 13 = 3 + 5 + 5 hay 19 = 3 + 11 + 5 . Và chỉ có duy nhất 1 trường hợp ngoại lệ N được tách thành 3 số mà trong đó có số chẵn là trường hợp 7 = 3 + 2 + 2 . Cái ta cần tìm là cặp số x + y = N - 3

code :

- viết 1 hàm kiểm tra 1 số có phải số nguyên tố hay ko , cái này trên mạng có chỉ

- nhập vào số N bất kì thì kiểm tra số đó có là nguyên tố ko . Nếu đúng thì lấy k = (N-3)/2 

- nếu k là số chẳn thì k = k - 1 cho thành lẻ (vì số nguyên tố là lẻ)

- cho vòng lặp for ( k ; k >=3 ; k-2 )  //( mục đích là tìm x )

    xét k là số nguyên tố ko ?

      + đúng thì h = N - 3 - k . Xét h là nguyên tố ko ? . Nếu h cũng là nguyên tố thì x = k , y = h , break vòng lặp  //( mục đích tìm y phù hợp với x ) 

      + sai thì tiếp tục vòng lặp

=> thu được x và y cùng với số 3 là có kết quả như đề mong muốn

Câu hỏi mới nhất