Tin học In ra các số nguyên tố < n

Junery N

Cựu Hỗ trợ viên
HV CLB Địa lí
Thành viên
23 Tháng mười một 2019
4,605
12,668
1,021
Nam Định
In the sky
  • Like
Reactions: Valhein AIC

Elishuchi

Cựu Mod Vật lí
Thành viên
13 Tháng mười 2015
2,240
2,921
479
Thanh Hoá
github.com
Thanh Hóa
✎﹏ ๖ۣۜTHPT❄๖ۣۜTriệu❄๖ۣۜSơn❄④ღ
var f,g:text;
i,n,dem:longint;
function kt(x:longint):boolean;
var j:longint;
begin
if (x<=1) then exit(false)
else if (x=2) or (x=3) then exit(true)
else for j:=2 to trunc(sqrt(x)) do if x mod j=0 then exit(false);
exit(true);
end;
begin
assign(f,’bai.inp’);
assign(g,’bai.out’);
reset(f);rewrite(g);
read(f,n); dem:=0;
if x<=2 then
begin
write(g,’0’);
exit;
end
else for i:=2 to n-1 do if kt(i)=true then inc(dem);
write(g,dem);
close(f);close(g);
end.
p/s:lâu lắm rồi mới làm tin:p
 

Valhein AIC

Học sinh
Thành viên
2 Tháng tư 2020
52
112
46
Khánh Hòa
Magic school
var f,g:text;
i,n,dem:longint;
function kt(x:longint):boolean;
var j:longint;
begin
if (x<=1) then exit(false)
else if (x=2) or (x=3) then exit(true)
else for j:=2 to trunc(sqrt(x)) do if x mod j=0 then exit(false);
exit(true);
end;
begin
assign(f,’bai.inp’);
assign(g,’bai.out’);
reset(f);rewrite(g);
read(f,n); dem:=0;
if x<=2 then
begin
write(g,’0’);
exit;
end
else for i:=2 to n-1 do if kt(i)=true then inc(dem);
write(g,dem);
close(f);close(g);
end.
p/s:lâu lắm rồi mới làm tin:p
bạn làm trên c++ chứ không phải làm trên Pascal

Giúp em với ạ:
Input: Nhập 1 số nguyên n < hoặc = 1 000 000
Output: Số các số nguyên tố < n
Ví dụ: Input: 3 Output: 1
Thanks
Bạn thử code này xem:
#include <iostream>
#include <cmath>
using namespace std;
int snt(int x)
{
if (x < 2)
return 0;
for (int i = 2; i <= sqrt(x); i++)
if (x%i == 0)
return 0;
return 1;
}
int main()
{
int n;
cin >> n;
for (int i = 1; i < n; i++)
if (snt(i))
cout << i << " ";
system("pause");
return 0;
}
 
Last edited by a moderator:
  • Like
Reactions: Junery N

02-07-2019.

Học sinh tiến bộ
HV CLB Lịch sử
Thành viên
4 Tháng năm 2018
1,485
1,656
236
Vĩnh Phúc
Trung học cơ sở Lập Thạch
var f,g:text;
i,n,dem:longint;
function kt(x:longint):boolean;
var j:longint;
begin
if (x<=1) then exit(false)
else if (x=2) or (x=3) then exit(true)
else for j:=2 to trunc(sqrt(x)) do if x mod j=0 then exit(false);
exit(true);
end;
begin
assign(f,’bai.inp’);
assign(g,’bai.out’);
reset(f);rewrite(g);
read(f,n); dem:=0;
if x<=2 then
begin
write(g,’0’);
exit;
end
else for i:=2 to n-1 do if kt(i)=true then inc(dem);
write(g,dem);
close(f);close(g);
end.
p/s:lâu lắm rồi mới làm tin:p
Em có cách viết hàm khác nè anh:
Mã:
Function kt(x:int64):boolean;
Var i:int64;
Begin
    If x<2 then exit(false);
    If (x=2) or (x=3) then exit(true);
    If (x mod 2 =0) or (x mod 3=0) then exit(false);
    i:=5;
    While i<=trunc(sqrt(x)) do
    If (x mod i=0) or (x mod i+2=0) then exit(false)
    Else                            inc(i,6);
    Exit(true);
End;
 
Top Bottom