Trang chủ Tin Học Lớp 9 Giúp mih với Một số mà đọc từ trái sang...

Giúp mih với Một số mà đọc từ trái sang phải giống hệt như đọc từ phải sang trái gọi là số đối xứng. Số 14541 là số đối xứng còn số 66667 không là số đối xứng.

Câu hỏi :

Giúp mih với Một số mà đọc từ trái sang phải giống hệt như đọc từ phải sang trái gọi là số đối xứng. Số 14541 là số đối xứng còn số 66667 không là số đối xứng. Hiển nhiên số 0330 không là số đối xứng (do số 0 đứng ở vị trí đầu tiên bên trái). Số 21 (biểu diễn trong cơ số 10) không là số đối xứng, nhưng số 21 (biểu diễn trong cơ số 2) là số đối xứng nếu biểu diễn trong cơ số 2 (10101). Nhiệm vụ: Viết chương trình đọc vào hai số (biểu diễn trong cơ số 10)  N (1 £ N £ 15)  S (0 < S < 10000) và xuất ra (trong cơ số 10):  N số đầu tiên lớn hơn S và là số đối xứng khi biểu diễn trong ít nhất hai cơ số c khác nhau (2 £ c £ 10).  Số số nguyên tố trong N số nói trên Dữ liệu: Cho trong tập tin văn bản DUALPAL.IN, gồm một dòng duy nhất chứa hai số nguyên N và S, cách nhau một khoảng trắng. Kết quả: Cho trong tập tin văn bản DUALPAL.OUT, gồm N+1 dòng. Trên mỗi dòng của N dòng đầu tiên là một số đối xứng khi được biểu diễn trong ít nhất hai hệ cơ số c (2 £ c £ 10). Các số trong N dòng đầu tiên phải thỏa yêu cầu của đề bài và được sắp theo thứ tự tăng dần. Trên dòng N+1 chứa một số nguyên duy nhất, chỉ số số nguyên tố trong N dòng trên. Ví dụ: DUALPAL.IN DUALPAL.OUT 3 25 26 27 28 0

Lời giải 1 :

var n,d,d_nt,dem,j:byte;
    i,s:longint;
    f:text;
const fi='DUALPAL.INP';
      fo='DUALPAL.OUT';
function dx(n:qword):boolean;
var st:string;
    i:byte;
begin
    str(n,st);
    for i:=1 to length(st) div 2 do
       if st[i]<>st[length(st)-i+1] then
          exit(false);
    exit(true);
end;
function doi(n:longint;hs:byte):boolean;
var a,lt:qword;
begin
    a:=0;lt:=1;
    while n<>0 do
       begin
           a:=a+(n mod hs)*lt;
           n:=n div hs;
           lt:=lt*10;
       end;
    if dx(a)=true then exit(true);
    exit(false);
end;
function nt(n:longint):boolean;
var i:longint;
begin
    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);
    readln(f,n,s);
    close(f);
    assign(f,fo);rewrite(f);
    d:=0;
    d_nt:=0;
    i:=s+1;
    while d<>n do
       begin
           dem:=0;
           for j:=2 to 10 do
              if doi(i,j)=true then
                    inc(dem);
           if dem>=2 then
              begin
                  if nt(i)=true then inc(d_nt);
                  inc(d);
                  writeln(f,i);
              end;
           inc(i);
       end;
    writeln(f,d_nt);
    close(f);
end.

Thảo luận

-- Vào team chơi cho dui ko ạ
-- mình có r nha bạn :v

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ự 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, sắp phải bước vào một kì thi căng thẳng và sắp chia tay bạn bè, thầy cô và cả kì vọng của phụ huynh ngày càng lớn mang tên "Lên cấp 3". Thật là áp lực nhưng các em hãy cứ tự tin vào bản thân là sẻ vượt qua nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247