Trang chủ Tin Học Lớp 8 Mật khẩu bạn Nam sử dụng để truy cập vào...

Mật khẩu bạn Nam sử dụng để truy cập vào trang web học trực tuyến là một số nguyên tố có tổng các chữ số là một số chẵn. Thay vì ghi lại mật khẩu này, bạn Nam

Câu hỏi :

Mật khẩu bạn Nam sử dụng để truy cập vào trang web học trực tuyến là một số nguyên tố có tổng các chữ số là một số chẵn. Thay vì ghi lại mật khẩu này, bạn Nam chỉ ghi lại một số nguyên 𝑛 có giá trị nhỏ hơn mật khẩu. Yêu cầu: Cho biết số nguyên 𝑛, hãy tìm mật khẩu có giá trị nhỏ nhất trong số các mật khẩu bạn Nam có thể sử dụng. Dữ liệu vào: Đọc từ bàn phím số nguyên 𝑛; Kết quả: Ghi ra màn hình mật khẩu tìm được. Ví dụ: NTO.INP NTO.OUT 20 Mat khau la: 31 1001 Mat khau la: 1009 HAPPY NEW YEAR

Lời giải 1 :

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.

Thảo luận

-- https://hoidap247.com/cau-hoi/3537618
-- helpp
-- https://hoidap247.com/cau-hoi/3564716
-- https://hoidap247.com/cau-hoi/3568926
-- https://hoidap247.com/cau-hoi/3628395
-- https://hoidap247.com/cau-hoi/3674027 helpp

Lời giải 2 :

- 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.

Bạn có biết?

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ư

Tâm sự 8

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 :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK