Bài 6. Câu lệnh điều kiện

Họ Và Tên

1Cho số nguyên dương N ,đếm số  cách phân tích N thành tổng hai số nguyên  tố .

2 Viết chương trình nhập vào số nguyên dương N.

a) Xuất ra màn hình N có phải là số nguyên tố đối xứng hay không.

b) Thông báo ra màn hình số nguyên tố đối xứng nhỏ nhất lớn hơn N.

mong các bạn giúp mình với ạ.

Nguyễn Lê Phước Thịnh
14 tháng 1 2021 lúc 22:01

Câu 1: 

uses crt;

var n,i,dem,j,kt1,kt2,a,b,kt:integer;

begin

clrscr;

write('Nhap n='); readln(n);

dem:=0;

if n mod 2=1 then   

begin     

a:=2;     

b:=n-a;     

kt:=0;     

for i:=2 to trunc(sqrt(b)) do

   if b mod i=0 then kt:=1;     

if kt=0 then inc(dem);   

end

else begin       

              for i:=2 to n div 2 do         

begin             

a:=i;             

b:=n-i;             

kt1:=0;             

kt2:=0;             

for j:=2 to trunc(sqrt(a)) do               

if a mod j=0 then kt1:=1;             

for j:=2 to trunc(sqrt(b)) do               

if b mod j=0 then kt2:=1;             

if (kt1=0) and (kt2=0) then inc(dem);         

end;     

end;

writeln('So cach phan tich ',n,' thanh tong hai so nguyen to la: ',dem);

readln;

end.

Câu 2: 

uses crt;

var n,x:integer;

{-----------------ham-kiem-tra-nguyen-to-----------------}

function ktnt(x:integer):boolean;

var kt:boolean;   

i:integer;

begin   

kt:=true;   

for i:=2 to trunc(sqrt(x)) do     

if x mod i=0 then       

begin           

kt:=false;           

break;       

end;   

if kt=true then ktnt:=true   

else ktnt:=false;

end;

{---------------ham-kiem-tra-so-doi-xung---------------}

function ktdx(x:integer):boolean;

var kt:boolean;   

d,i:integer;   

st:string;

begin   

str(x,st);   

d:=length(st);   

kt:=true;   

for i:=1 to d do     

if st[i]<>st[d-i+1] then       

begin           

kt:=false;           

break;       

end;   

if kt=true then ktdx:=true   

else ktdx:=false;

end;

{--------------chuong-trinh-chinh---------------}

begin

clrscr;

repeat   

write('Nhap n='); readln(n);

until n>0;

if (ktnt(n)=true) and (ktdx(n)=true) then writeln(n,' la so nguyen to doi xung')

else writeln(n,' khong la so nguyen to doi xung');

x:=n+1;

repeat   

x:=x+1;

until (ktnt(x)=true) and (ktdx(x)=true);

writeln('So nguyen to doi xung nho nhat lon hon ',n,' la: ',x);

readln;

end.

Bình luận (1)
hoang
11 tháng 1 2023 lúc 22:53

bài 1;

const
fi='phantich.inp'
fo='phantich.out'
var f,g:text;i,n,d:longint;
function nt(n:longint):boolean;
var i:longint;
begin
        if (n<2) then exit (false);
        for i:=2 to trunc(sqrt(n)) do
        if (n mod i=0) then exit (false);
        exit (true);
end;
begin
        assign(f,fi);reset(f);
        assign(g,fo);rewrite(g);
        readln(f,n);
        d:=0;
        for i:=1 to n div 2 do
         if nt(i) and nt(n-i) then inc(d);
         writeln(g,'co ',d,' cach phan tich');
        close(f);close(g);
end.

bài 2:

const
fi='primenumber.inp'
fo='primenumber.out'
var f,g:text;n:longint;
function nt(n:longint):boolean;
var i:longint;
begin
        if (n<2) then exit (false);
        for i:=2 to trunc(sqrt(n)) do
        if (n mod i=0) then exit (false);
        exit (true);
end;
function check(n:longint):boolean;
var s,m:longint;
begin
        s:=0;m:=n;
        while (n>0) do
        begin
                s:=s*10+(n mod 10);
                n:=n div 10;
        end;
        if (s=m) and (nt(s)=true) then exit (true);
        exit (false);
end;
begin
        assign(f,fi);reset(f);
        assign(g,fo);rewrite(g);
        readln(f,n);
        if check(n) then writeln(g,'la so nguyen to doi xung') else
        writeln(g,'khong la so nguyen to doi xung');
        repeat
                inc(n);
        until (check(n)=true);
        writeln(g,'so do la : ',n);
        close(f);close(g);
end.

Bình luận (0)

Các câu hỏi tương tự
Phạm Hải Đăng
Xem chi tiết
31. Hà Thị Ngọc Phương 8...
Xem chi tiết
31. Hà Thị Ngọc Phương 8...
Xem chi tiết
Nguyen Hoang Khoi
Xem chi tiết
Thiên Phúc
Xem chi tiết
Duy Thanh Bùi
Xem chi tiết
Duy Thanh Bùi
Xem chi tiết
Duy Thanh Bùi
Xem chi tiết
Ngô Thị Tân
Xem chi tiết