Uses crt;
Var
n,i,s,k,kt: integer;
Begin
clrscr;
readln(n);
repeat
n:=n+1; {tăng dần n thành số để xét vì n nhỏ hơn mật khẩu}
kt:=0;
for i:=2 to n-1 do
if n mod i=0 then kt:=1; {Nếu số được xét chia hết cho số nào đó nhỏ hơn => số được xét không phải số nguyên tố => loại}
if kt=0 then {Nếu số được xét không bị loại thì thực hiện}
begin
s:=0; i:=n;
while (i<>0) do {Tính tổng các chữ số của số được xét}
begin
k:=i mod 10;
i:=i div 10;
s:=s+k;
end;
if s mod 2=0 then kt:=2; {Nếu tổng chữ số chia hết cho 2 => chắn => đặt biến kt hợp lệ}
end;
until(kt=2); {Nếu biến kiểm tra hợp lệ (=2) thì không cần phải xét tiếp}
writeln('Mat khau la: ',n);
readln;
End.
- Cách 1: 6k +- 1
uses crt;
type int = longint;
var n: int;
function prime(x: int): boolean;
var i: int;
begin
if x <= 1 then exit(false);
if x mod 2 = 0 then exit(x = 2);
if x mod 3 = 0 then exit(x = 3);
i:=5;
while i * i <= x do begin
if (x mod i = 0) or (x mod (i + 2) = 0) then
exit(false);
inc(i, 6);
end;
exit(true);
end;
function check(x: int): boolean;
var r: int;
begin
if not prime(x) then exit(false);
r:=0;
while x > 0 do begin
inc(r, x mod 10);
x:=x div 10;
end;
exit(r and 1 = 0);
end;
begin
readln(n); inc(n);
while check(n) = false do inc(n);
writeln(n);
end.
- Cách 2: miller - rabin
uses crt;
type int = int64;
var n: int;
var ck_prime: array of int = (2, 7, 61);
function pow(a, n, m: int): int;
var res: int;
begin
res:=1;
while n > 0 do begin
if n and 1 = 1 then res:=(res * a) mod m;
a:=(a * a) mod m;
n:=n shr 1;
end;
exit(res);
end;
function check(a, s, d, n: int): boolean;
var p: int;
begin
if n = a then exit(true);
p:=pow(a, d, n);
if p = 1 then exit(true);
while s > 0 do begin
dec(s);
if p = n - 1 then exit(true);
p:=(p * p) mod n;
end;
exit(false);
end;
function prime(x: int): boolean;
var i, d, s: int;
begin
if x <= 1 then exit(false);
if x mod 2 = 0 then exit(x = 2);
if x mod 3 = 0 then exit(x = 3);
d:=x - 1; s:=0;
while d and 1 = 0 do begin
inc(s);
d:=d shr 1;
end;
for i:=0 to 2 do
if check(ck_prime[i], s, d, x) = false then exit(false);
exit(true);
end;
function check(x: int): boolean;
var r: int;
begin
if not prime(x) then exit(false);
r:=0;
while x > 0 do begin
inc(r, x mod 10);
x:=x div 10;
end;
exit(r and 1 = 0);
end;
begin
readln(n); inc(n);
while check(n) = false do inc(n);
writeln(n);
end.
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!
Nguồn : ADMIN :))Xem thêm tại https://loigiaisgk.com/cau-hoi or https://giaibtsgk.com/cau-hoi
Copyright © 2021 HOCTAPSGK