<!DOCTYPE html>
	<html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
	<head>
<title>Dãy nguyên tố | Câu 2 - Đề HSG tin 11 Nghệ An | Năm 2014 - 2015</title>
<meta name="description" content="Dãy nguyên tố | Câu 2 - Đề HSG tin 11 Nghệ An | Năm 2014 - 2015 - Savefile - Tin tức -...">
<meta name="author" content="BÀI TẬP Ở NHÀ">
<meta name="copyright" content="BÀI TẬP Ở NHÀ [ducluu80@gmail.com]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index, archive, follow, noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="vi">
<meta property="og:title" content="Dãy nguyên tố | Câu 2 - Đề HSG tin 11 Nghệ An | Năm 2014 - 2015">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin tức - https&#x3A;&#x002F;&#x002F;baitaponha.com&#x002F;savefile&#x002F;giai-de-tin-hoc&#x002F;day-nguyen-to-cau-2-de-hsg-tin-11-nghe-an-nam-2014-2015-48.html">
<meta property="og:site_name" content="BÀI TẬP Ở NHÀ">
<meta property="og:url" content="https://baitaponha.com/savefile/giai-de-tin-hoc/day-nguyen-to-cau-2-de-hsg-tin-11-nghe-an-nam-2014-2015-48.html">
<link rel="shortcut icon" href="https://baitaponha.com/uploads/logo.ico">
<link rel="canonical" href="https://baitaponha.com/savefile/giai-de-tin-hoc/day-nguyen-to-cau-2-de-hsg-tin-11-nghe-an-nam-2014-2015-48.html">
<link rel="alternate" href="https://baitaponha.com/rss/" title="Tin tức" type="application/rss+xml">
<link rel="alternate" href="https://baitaponha.com/rss/lap-trinh-python-co-ban/" title="Tin tức - Lập trình Python cơ bản." type="application/rss+xml">
<link rel="alternate" href="https://baitaponha.com/rss/giai-de-tin-hoc/" title="Tin tức - Giải đề tin học" type="application/rss+xml">
<link rel="alternate" href="https://baitaponha.com/rss/boi-gioi-tin-hoc/" title="Tin tức - Bồi giỏi tin học" type="application/rss+xml">
<link rel="alternate" href="https://baitaponha.com/rss/lap-trinh-c/" title="Tin tức - Lập trình C++" type="application/rss+xml">
<link rel="alternate" href="https://baitaponha.com/rss/thu-thuat-may-tinh/" title="Tin tức - Thủ thuật máy tính" type="application/rss+xml">
<link rel="preload" as="style" href="https://baitaponha.com/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/custom.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/style-green.css" type="text/css">
<link rel="preload" as="style" href="https://baitaponha.com/themes/egov/css/news.css" type="text/css">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/assets/js/jquery/jquery.cookie.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/themes/egov/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/themes/egov/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.googletagmanager.com/gtag/js?id=G-4JBZJ8SEPL" type="text/javascript">
<link rel="preload" as="script" href="https://baitaponha.com/themes/egov/js/bootstrap.min.js" type="text/javascript">
<link rel="StyleSheet" href="https://baitaponha.com/assets/css/font-awesome.min.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/bootstrap.non-responsive.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/style.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/custom.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/style-green.css">
<link rel="StyleSheet" href="https://baitaponha.com/themes/egov/css/news.css">
<style type="text/css">
	body{background: #fff;}
</style>

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3247389617576546"
     crossorigin="anonymous"></script>
     <!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4JBZJ8SEPL"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-4JBZJ8SEPL');
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-W4C9RPT');</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-6V0WCB5SCB"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-6V0WCB5SCB');
</script>
<script async custom-element="amp-auto-ads"
        src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js">
</script>		
<script async custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-262364265-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-262364265-1');
</script>
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-262364265-1', '.baitaponha.com');
ga('send', 'pageview');
</script>
</head>
	<body>
	    <amp-auto-ads type="adsense"
                    data-ad-client="ca-pub-3247389617576546">
        </amp-auto-ads>
<!-- BEGIN Fanpage Facebook -->
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v16.0&appId=390459604647856&autoLogAppEvents=1" nonce="H8AT1lQt"></script>

<!-- END Fanpage Facebook -->
        <!-- Google Tag Manager (noscript) -->
            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W4C9RPT"
            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <!-- End Google Tag Manager (noscript) -->
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">BÀI TẬP Ở NHÀ</h2>
		<p class="pull-right"><a title="BÀI TẬP Ở NHÀ" href="https://baitaponha.com/">https://baitaponha.com</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Dãy nguyên tố | Câu 2 - Đề HSG tin 11 Nghệ An | Năm 2014 - 2015</h1>
		<ul class="list-inline">
			<li>Thứ sáu - 16/06/2023 09:20</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
			Đây là một bài xử lý về số nguyên tố. Qua bài này, các bạn sẽ thấy được cách sử dụng kỹ thuật dùng mảng đánh dấu để tránh việc phải sắp xếp mảng khi xử lý, đồng thời qua bài này các bạn sẽ thấy kỹ thuật xử lý nhằm tối ưu bộ nhớ biến. Ngoài ra các bạn sẽ hiểu thêm về thuật toán sắp xếp quicksort. Trong bài này tôi còn trình bày cho các bạn lời giải bằng ngôn ngữ lập trình Python. Mời các bạn cùng tham khảo!
		</div>
				<div class="imghome">
			<img alt="Dãy số nguyên tố | Câu 2 đề HSG tin 11 Nghệ An | năm 2014 - 2015" src="https://baitaponha.com/uploads/news/2023_06/anh-chup-man-hinh-2023-06-17-000113.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Bài 2. (6 điểm) Dãy nguyên tố</span></span></b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><br />
<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Cho số tự nhiên k và dãy A gồm N (N <u>&lt;</u> 10<sup>4</sup>) số tự nhiên không vượt quá 32000. </span></span></span></span><br />
<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Yêu cầu:<i> </i></span></span></b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Tìm k số nguyên tố nhỏ nhất khác nhau xuất hiện trong dãy A.</span></span></span></span><br />
<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><i><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Dữ liệu vào</span></span></i></b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif"> từ file văn bản DAYNT.INP: </span></span></span></span>
<ul>
	<li style="margin-left:56px; text-align:justify"><span style="font-size:14pt"><span style="tab-stops:list 72.0pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Dòng đầu tiên chứa một số tự nhiên k (1 <u>&lt;</u> k <u>&lt;</u> N).</span></span></span></span></span></li>
	<li style="margin-left:56px; text-align:justify"><span style="font-size:14pt"><span style="tab-stops:list 72.0pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">N dòng tiếp theo, mỗi dòng chứa một số tự nhiên là một phần tử của dãy A.</span></span></span></span></span></li>
</ul>
<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><i><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Kết quả</span></span></i></b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif"> ghi ra file văn bản DAYNT.OUT: Đưa ra trên cùng một dòng k số nguyên tố tìm được theo thứ tự tăng dần, các số cách nhau ít nhất một ký tự trống.</span></span></span></span><br />
<span style="font-size:14pt"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><i><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Lưu ý: </span></span></i></b><span style="font-size:13.0pt"><span style="font-family:&#039;Times New Roman&#039;,serif">Dữ liệu vào đảm bảo luôn tìm được k số nguyên tố thỏa mãn.</span></span></span></span><br />
<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">Ví dụ:</span></span></span></span></span></span>

<table class="Table" style="margin-left:72px; border-collapse:collapse; border:none">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:160px; padding:0cm 7px 0cm 7px; height:17px; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top"><span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">DAYNT.INP</span></span></span></b></span></span></span></td>
			<td style="border-bottom:1px solid black; width:160px; padding:0cm 7px 0cm 7px; height:17px; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top"><span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><b><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">DAYNT.OUT</span></span></span></b></span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:160px; padding:0cm 7px 0cm 7px; height:136px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top"><span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">3</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">12</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">13</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">17</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">9</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">3</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">1</span></span></span></span></span></span><br />
			<span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">12</span></span></span></span></span></span></td>
			<td style="border-bottom:1px solid black; width:160px; padding:0cm 7px 0cm 7px; height:136px; border-top:none; border-right:1px solid black; border-left:none" valign="top"><span style="font-size:14pt"><span style="line-height:115%"><span style="font-family:&#039;.VnTime&#039;,sans-serif"><span style="font-size:13.0pt"><span style="line-height:115%"><span style="font-family:&#039;Times New Roman&#039;,serif">3 13 17</span></span></span></span></span></span></td>
		</tr>
	</tbody>
</table>

<div style="page-break-after: always"><span style="display: none;">&nbsp;</span></div>

<h2>Code mẫu bằng Pascal 1:</h2>

<pre>
<code>CONST   fi      =       &#039;DayNT.inp&#039;;
        fo      =       &#039;DayNT.out&#039;;
Var     D : Array&#91;2..32000&#93; of byte;
        i,n,k,a : integer;
Procedure       mofile;
begin
        assign(input,fi);
        reset(input);
        assign(output,fo);
        rewrite(output);
end;
Function        Nto( n : integer): boolean;
var     i :integer;
begin
        if n&lt;2 then exit(false)
        else
        for i:=2 to trunc(sqrt(n)) do
                if n mod i =0 then exit(false);
        exit(true);
end;
Procedure       Doc_xuly;
begin
       readln(k);
       for i :=1 to 32000 do d&#91;i&#93; :=0;
        while not seekeof do
                begin
                        readln(a);
                        if nto(a) then d&#91;a&#93; :=1;
                end;
end;
Procedure       xuat;
begin
            n:=0;
            for i :=1 to 32000 do
             if d&#91;i&#93;&lt;&gt; 0 then
                begin write(i,&#039; &#039;);
                      n := n+1;
                      if n = k then exit;
                end;

end;
Begin
       mofile;
       Doc_xuly;
       xuat;
end.</code></pre>

<h3>Giải thích:</h3>
Chương trình trên là một kỹ thuật xử lý dãy số nguyên tố bằng cách dùng mảng đánh dấu, nhằm tránh việc phải sắp xếp mảng trước khi xử lý. Ngoài ra cách xử lý bài trên cũng được tinh gọn bằng cách vừa đọc dữ liệu vử xử lý luốn, nên cũng cải thiện được hiểu suất của thuật toán. Đọc đến số nào thì kiểm tra xem số đó có phải là số nguyên tố hay không, nếu a là số nguyên tố thì gán luôn d&#91;a&#93; = 1. Ngoài ra đây cũng là cách mà chỉ sử dụng biến a và mảng đánh dấu d nhằm tối thiểu bộ nhớ biến.

<pre>
<code>Procedure       Doc_xuly;
begin
       readln(k);
       for i :=1 to 32000 do d&#91;i&#93; :=0;
        while not seekeof do
                begin
                        readln(a);
                        if nto(a) then d&#91;a&#93; :=1;
                end;
end;</code></pre>
Với cách xử lý như trên ta thấy code vừa gọn, tối ưu được thuật toán và bộ nhớ.<br />
Như các bạn đã biết, trong Pascal thì việc sắp xếp mảng không có hàm xây dựng sẵn, nên khi sắp xếp thì các bạn cần phải viết code để sắp xếp. Để hiểu hơn về sự tinh gọn của code trên, mời các bạn tham khảo thêm code mẫu sau để hiểu thêm về thuật toán sắp xếp quicksort&nbsp;:
<h2>Code mẫu bằng Pascal 2:</h2>

<pre>
<code>const   fi=&#039;DAYNT.inp&#039;;
        fo=&#039;DAYNT.out&#039;;
var     f:text;
        n,i,j,m:longint;
        k:array&#91;0..32767&#93; of boolean;
        a,b:array&#91;1..10000000&#93; of longint;
procedure       docf;
begin
        assign(f,fi);
        reset(f);
        n:=0;
        readln(f,m);
        while not eof(f) do
        begin
                inc(n);
                readln(f,b&#91;n&#93;);
        end;
        close(f);
end;
function        nt(i:longint):boolean;
var     j:longint;
begin
        nt:=false;
        if i=1 then exit;
        if i=0 then exit;
        for j:=2 to trunc(sqrt(i)) do if i mod j=0 then exit;
        nt:=true;
end;
procedure       td(var a,b:longint);
var tg:longint;
begin
        tg:=a;a:=b;b:=tg;
end;
procedure       qs(l,r:longint);
var x,i,j:longint;
begin
        x:=a&#91;(l+r)div 2&#93;;
        i:=l;j:=r;
        repeat
        while a&#91;i&#93;&lt;x do inc(i);
        while a&#91;j&#93;&gt;x do dec(j);
        if i&lt;=j then
        begin
                td(a&#91;i&#93;,a&#91;j&#93;);
                inc(i);dec(j);
        end;
        until i&gt;j;
        if l&lt;j then qs(l,j);
        if i&lt;r then qs(i,r);
end;
procedure       xd;
begin
        for i:=1 to n do if not k&#91;b&#91;i&#93;&#93; then
        begin
                k&#91;b&#91;i&#93;&#93;:=true;
                if nt(b&#91;i&#93;) then
                begin
                        inc(j);
                        a&#91;j&#93;:=b&#91;i&#93;;
                end;
        end;
end;
begin
        docf;
        assign(f,fo);
        rewrite(f);
        xd;
        qs(1,j);
        for i:=1 to m do write(f,a&#91;i&#93;,&#039; &#039;);
        close(f);
end.
</code></pre>

<h3>Giải thích:</h3>
So với code mẫu 1 thì trong code mẫu 2 này các bạn thấy bài này phải sử dụng tới 3 mảng, trong khi code mẫu 1 chỉ sử dụng 1 biến mảng. Đồng thời trong code mẫu 1 không cần sử dụng thuật toán sắp xếp.&nbsp;

<h2>Lời giải bằng Python:</h2>

<pre>
<code class="language-python">#Hàm Kiểm tra nguyên tố.
def is_prime(n):
    if n &lt; 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

# Đọc dữ liệu vào từ file DAYNT.INP
with open(&quot;DAYNT.INP&quot;, &quot;r&quot;) as f:
    k = int(f.readline())
    a = &#91;int(line.strip()) for line in f&#93;

# Tìm k số nguyên tố nhỏ nhất trong dãy số a
primes = &#91;&#93;
num_primes_found = 0
for num in sorted(a):
    if is_prime(num):
        primes.append(num)
        num_primes_found += 1
        if num_primes_found == k:
            break

# Ghi kết quả vào file DAYNT.OUT
with open(&quot;DAYNT.OUT&quot;, &quot;w&quot;) as f:
    f.write(&quot; &quot;.join(str(x) for x in primes))
</code></pre>

<h3>&nbsp;Giải thích:</h3>
Đối với Python thì việc sắp xếp đã có phương thức sẵn nên ta sử dụng sắp xếp mảng đầu vào trước, sau đó dùng hàm kiểm tra số nguyên tố để tìm đủ k số nguyên tố đầu tiến, khi tìm đủ k số nguyên tố đầu tiên thì ta thoát khỏi vòng lặp <code>for</code> bằng lệnh <code>break</code>. Trong code trên ta thấy cũng cần phải có 2 biến mảng để lưu dữ liệu, tuy nhiên các bạn có thể sử dụng kỹ thuật giống code mẫu 1 để giảm đi 1 biết mảng. Các bạn hãy thử code lại bằng python xem sao nhé.

<h2>Link tải các test:</h2>
Mình để link tải các test dưới bài viết nhé, các bạn code lại và chạy với các test dưới, nếu chạy full test thì chúc mừng các bạn đã đạt full điểm bài này.
		</div>
				<div id="author">
						<p>
				<strong>Tác giả:</strong>
				<a href="https://baitaponha.com/author/admin/">admin</a>
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://baitaponha.com/savefile/giai-de-tin-hoc/day-nguyen-to-cau-2-de-hsg-tin-11-nghe-an-nam-2014-2015-48.html" title="Dãy nguyên tố | Câu 2 - Đề HSG tin 11 Nghệ An | Năm 2014 - 2015">https://baitaponha.com/savefile/giai-de-tin-hoc/day-nguyen-to-cau-2-de-hsg-tin-11-nghe-an-nam-2014-2015-48.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; BÀI TẬP Ở NHÀ
		</div>
		<div id="contact">
			<a href="mailto:ducluu80@gmail.com">ducluu80@gmail.com</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://baitaponha.com/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
<script src="https://baitaponha.com/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="btol",nv_check_pass_mstime=21538000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://baitaponha.com/assets/js/language/vi.js"></script>
<script src="https://baitaponha.com/assets/js/DOMPurify/purify3.js"></script>
<script src="https://baitaponha.com/assets/js/global.js"></script>
<script src="https://baitaponha.com/assets/js/site.js"></script>
<script src="https://baitaponha.com/themes/default/js/news.js"></script>
<script src="https://baitaponha.com/assets/js/jquery/jquery.cookie.js"></script>
<script src="https://baitaponha.com/themes/egov/js/main.js"></script>
<script src="https://baitaponha.com/themes/egov/js/custom.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4JBZJ8SEPL"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date);gtag('config','G-4JBZJ8SEPL');</script>
<script src="https://baitaponha.com/themes/egov/js/bootstrap.min.js"></script>
</body>
</html>