Trung Quân
  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Top Posts
Lộ trình học lập trình Web từ con...
Nhận diện, xác thực khuôn mặt với ReactJS...
Tạo hiệu ứng thẻ bài Magic với HTML...
NodeJS viết API gửi Email với OAuth2 và...
Tạo hiệu ứng Parallax đơn giản chỉ với...
Git – GitHub • Học Git thực tế...
Tạo một trang GitHub Profile phiên bản vũ...
Cài đặt iTerm2, Oh My Zsh, Zsh-autosuggestions và...
Cài đặt NVM, NodeJS và GIT trên MacOS...
Thuật toán Tìm phần tử bị lặp đầu...

Trung Quân

  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Bài tập ứng dụng webCommon Problems

Ứng dụng web liệt kê “n” số nguyên tố đầu tiên

by trungquandev May 30, 2016
written by trungquandev May 30, 2016
Ứng dụng web liệt kê “n” số nguyên tố đầu tiên

Xin chào các bạn, mình là Quân, hôm nay mình sẽ hướng dẫn các bạn code ứng dụng liệt kê danh sách n số nguyên tố đầu tiên với n là số giới hạn mình nhập vào.

Hình dung bài toán:

B1: Viết một hàm kiểm tra số nguyên tố

B2: Viết hàm liệt kê số nguyên tố

B3: Viết form để nhập số giới hạn n mà ta muốn hiển thị và viết code xử lý dữ liệu phía trên form

B4: Run…

——————————————————————————————————————

Bước vào giải quyết bài toán nào:

B1: Hàm kiểm tra số nguyên tố

function kt_ngto($n)
{
  $kt = 1;
  for($i=2;$i<=sqrt($n);$i++)
  {
    if($n%$i==0 && $n>2)
    {
      $kt = 0;
    }		
  }
  return $kt;
}
/*
Giải thích đoạn code trên:
-Số nguyên tố là những số chỉ chia hết cho 1 và chính nó, vậy thuật toán đơn giản là 
chúng ta kiểm tra tất cả các số trong khoảng từ 2 đến căn bậc 2 của số cần kiểm tra 
(số n).
-Nếu số n chia hết cho một trong những số trong khoảng trên thì n không phải 
là số nguyên tố => trả về giá trị biến kiểm tra $kt = 0; 
-Ngược lại là số nguyên tố => $kt = 1;
*/

B2: Hàm liệt kê các số nguyên tố

function lk_ngto($n)
{
    
  $i=2;
  $dem =0;
  (string) $ketqua = "";
  while($dem<$n)
  {
    if(kt_ngto($i)==1)
    {
      $ketqua .= $i." &nbsp;";
      $dem++;	
    }	
    $i++;
  }
  return $ketqua;
}
/*
Giải thích:
-Khời tạo biến $i là một số để kiểm tra có phải là số nguyên tố hay không, bắt đầu từ 2
-Khởi tạo biến $dem để đếm số lần thực hiện vòng lặp đến $n lần, bắt đầu đếm từ 1
-Và khởi tạo biến $ketqua để lưu chuỗi danh sách số nguyên tố mà ta thu được 
-Thuật toán đơn giản là dùng vòng lặp while kiểm tra biến $dem bao giờ chạy đến bằng $n
 thì dừng lại.
Bên trong while kiểm tra số $i có phải là số nguyên tố hay không, dùng hàm kt_ngto() ở
 trên.
 +Nếu $i là số nguyên tố thì gán $i vào chuỗi danh sách kết quả, lưu vào $ketqua, sau 
  đó tăng biến đếm lên 1 giá trị.
 +Tiếp theo ra ngoài vòng kiểm tra (if) tăng $i lên 1 giá trị.
 +Và cuối cùng trả về chuỗi $ketqua. 
*/

B3: Viết form để nhập số giới hạn n mà ta muốn hiển thị và viết code xử lý dữ liệu phía trên form

<?php
 if(isset($_POST["ok"]))
 {
  $n = $_POST["n"];
  $ketqua = lk_ngto($n);
        echo $ketqua;
 }
?>
<form action="đường dẫn đến file code của bạn" method="post" enctype="multipart/form-data">
 Nhập n: <input type="text" name="n" value="" />
         <input type="submit" value="Liệt Kê" name="ok" />
</form>
/*
 Giải thích:
-Ta sẽ tạo một form để nhập yêu cầu n số nguyên tố mà ta muốn hiển thị, chú ý trong dấu
 ngoặc kép chỗ action là đường dẫn đến file code của bạn, ví dụ của mình là 
 n-so-ng-to-dautien.php

-Thẻ input type="text" là để nhập n, giá trị name="n"
-Thẻ input type="submit" là nút nhấn để yêu cầu liệt kê, giá trị name="ok"

-Sau khi nhấn nút liệt kê, đoạn code php ở bên trên form sẽ kiểm tra xem bạn đã nhấn nút
 liệt kê hay chưa (dùng hàm isset). Nếu tồn tại $_POST["ok"] nghĩa là bạn đã nhấn thì
 sẽ lấy giá trị $_POST["n"] gửi lên từ thẻ input và gán vào biến $n.

-Chạy hàm lk_ngto() đã viết ở trên và gán kết quả trả về vào danh sách số ngtố $ketqua
-Cuối cùng là hiển thị ra danh sách: echo $ketqua;
*/

B4: Chạy bài làm và nhận kết quả thôi =)), bạn nào muốn giao diện ứng dụng như hình ở trên thì có thể dowload source code của mình về tham khảo.

Source code: Github: N Số Nguyên Tố Đầu Tiên

Done.

Nếu có gì thắc mắc hoặc cần hỏi, bạn có thể comment dưới Bài Viết này hoặc Liên Hệ với mình, mình sẽ trả lời bạn sớm nhất. Cảm ơn các bạn và hẹn gặp lại các bạn ở những bài hướng dẫn tiếp theo.

Best Regards – Trung Quân

Khóa học lập trình làm việc thực tế:

Nếu các bạn thấy bài viết của mình có ích thì hãy ủng hộ mình bằng cách tham khảo bài viết giới thiệu khóa học lập trình MERN Stack Miễn Phí cực kỳ chất lượng và chính chủ dưới đây của mình nhé, cảm ơn các bạn ^^
KHOÁ HỌC LẬP TRÌNH MERN STACK 100% DỰ ÁN THỰC TẾ và CHẤT LƯỢNG
mern-stack-course-trungquandev
0 comment
0
FacebookTwitterGoogle +Pinterest
trungquandev

previous post
Hướng Dẫn Tạo Giao Diện Trong Suốt Chuyên Nghiệp Cho Sublime Text 3
next post
Ứng dụng web liệt kê danh sách số Armstrong nhỏ hơn một số giới hạn cho trước

Related Posts

Hướng dẫn build một con Facebook Messenger Bot...

January 19, 2017

Framework và CMS khác nhau như thế nào?...

September 3, 2017

Ứng dụng web tìm kiếm “cặp số bạn...

June 28, 2016

Node.js lắng nghe, quan sát những thay đổi...

July 4, 2019

Hướng dẫn tạo Domain ảo tại Localhost sử...

May 6, 2017

Hướng Dẫn Import Database Trong phpmyadmin

April 18, 2016

Tất cả hướng đi để trở thành một...

April 20, 2017

Tản mạn về cái tên “Lập trình viên...

March 25, 2018

Ứng dụng web liệt kê danh sách số...

June 3, 2016

Ứng dụng web chuyển năm dương lịch bất...

June 8, 2016

Bát Chánh Đạo

batchanhdao-trungquandev

About Me

About Me

Trung Quân

Software Engineer at Pod Foods

Academy Of Cryptography Techniques

"I am a dog and cat lover, love green, love to read books, write blog and oil painting ..."

Read my CV → https://cv.trungquandev.com/

My Maxim Live

A bit of fragrance clings to the hand that gives flowers!

For Vietnamese young generation

Đừng bao giờ làm người khổng lồ trong tư tưởng nhưng chỉ là thằng lùn trong hành động.

Keep in touch

Facebook Instagram Linkedin Youtube Email Github

Fanpage Facebook

Facebook

Học lập trình “MERN Stack Cơ Bản” qua ứng dụng thực tế

mern-stack-trello-app-trungquandev


  Khóa học lập trình MERN Stack (NodeJS, ReactJS, ExpressJS, MongoDB) cực kỳ chất lượng và Miễn Phí do chính mình hướng dẫn nhé:
  MERN Stack - xây dựng ứng dụng quản lý công việc dạng Kanban tương tự Trello.

Học lập trình “MERN Stack Nâng Cao” qua ứng dụng thực tế

mern-stack-advanced-trello-app-trungquandev


  * Học lập trình MERN Stack Nâng Cao (NodeJS, ReactJS, ExpressJS, MongoDB). Đây là một khóa học mà mình đã làm cực kỳ tâm huyết, với phong cách dạy lập trình làm dự án thực tế, chuyên nghiệp. Để các bạn có một hành trang kiến thức vững chắc cho hành trình làm lập trình viên trong tương lai nhé.
  Lập Trình MERN Stack Nâng Cao - Học Thực Tế Để Đi Làm

YouTube: Trungquandev Official

youtube-channel-trungquandev-official


  - Các bạn tham khảo kênh YouTube chính thức của mình và ủng hộ mình bằng cách tặng mình một lượt Đăng Ký Kênh nha.
Cảm ơn các bạn ^^

  YouTube: TRUNGQUANDEV OFFICIAL

© Copyright

Bản quyền:
  © DMCA (Digital Millennium Copyright Act)


DMCA.com Protection Status

License

Giấy phép nội dung:
  Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 Quốc tế.


Giấy phép Creative Commons

Other links

Portfolio của mình:
  https://cv.trungquandev.com

Lập trình cuộc sống:
  https://laptrinhcuocsong.com

Nhiều bài viết hay về javascript:
  https://codetheworld.io

  • Facebook
  • Youtube
  • GitHub
  • Linkedin
  • Instagram

@2022 - trungquandev.com. Since 2016 - All Right Reserved. Developed by Trung Quân Dev