Trang chủ Tin Học Lớp 8 Bài 2. (5,0 điểm) SỐ ĐÓI XỨNG Một số tự nhiên được gọi là số đối xứng nếu đọc từ...
Câu hỏi :

Làm ngắn gọn dễ hỉu nha mấy feN:) C++ hoặc pascal

image

Bài 2. (5,0 điểm) SỐ ĐÓI XỨNG Một số tự nhiên được gọi là số đối xứng nếu đọc từ trái qua phải hoặc từ phải qua trái đều được số giống nhau. Số có một chữ

Lời giải 1 :

Code + Giải thích luôn nhé :v

(*Code cũng bth mà mấy cái comment làm nó nhìn dài thật (*゜ー゜*))

$\\$

$\color{#1fdb91}{\texttt{C}}\color{#0aaec9}{\texttt{+}}\color{#e9418e}{\texttt{+}}$

#include <iostream> // chứa cin, cout, freopen
#include <algorithm> // chứa reverse
#include <cstring> // chứa to_string

// freopen: Hàm này dùng để đọc/ghi file
// reverse: Hàm này dùng để đảo ngược một mảng, chuỗi, ...
// to_string: Hàm này dùng để chuyển số sang chuỗi

using namespace std;

bool check(string s) { // Hàm kiểm tra số đối xứng :v
    string rs = s;
    reverse(rs.begin(), rs.end()); // Đảo ngược chuỗi rs
    return s == rs; // Kiểm tra xem chuỗi ban đầu (s) có bằng chuỗi đảo ngược của nó (rs) không
    // Giải thích kĩ hơn tí :v Nếu s == rs (đúng) thì biểu thức này sẽ trả về true, ngược lại trả về false
}

int main() {
    
    // Đọc ghi file đây, mà lười test file quá nên comment lại nha :v
    //freopen("DOIXUNG.INP", "r", stdin);
    //freopen("DOIXUNG.OUT", "w", stdout);
    
    int m, n, c; cin >> m >> n;
    // Do giới hạn khá nhẹ nên ta chỉ cần lặp từ m -> n và kiểm tra xem i có phải số đối xứng không :)
    c = 0; // Biến đếm số đối xứng (xuất sau chứ đề mà kêu xuất số lượng trước thì hơi mệt :v)
    for (int i=m; i<=n; ++i) {
        if (check(to_string(i))) // Nếu i là số đối xứng thì xuất i và tăng biến đếm
            cout << i << ' ' , ++ c;
    }
    cout << endl << c; // Xuất số lượng và xong :v
}

/****************************
 * Author: Daoanhviet96     *
 * Language: C++            *
 ****************************/

$\\$
\begin{array}{c|c|c}\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}\end{array}

image

Lời giải 2 :

// Có C++ rồi thì Pascal :v

const fi = 'DOIXUNG.INP';
      fo = 'DOIXUNG.OUT';
  var m, n, d : longint ;
  procedure freeopen ;
     begin
    assign(input,fi); reset(input);
    assign(output,fo); rewrite(output)
     end ;
  function check_symmetry(n:longint):boolean ;
        var l, r : longint;
            s : string ;
     begin
    str(n,s);
    l := 1 ; r := length(s);
    while true do 
         begin
        if (l=r) then break ;
        if s[l] <> s[r] then exit(false);
        inc(l); dec(r);
         end ;
    exit(true);
     end ;
begin
    freeopen ;
    read(m,n);
    d := 0 ;
    while m <= n do 
         begin
        if check_symmetry(m) then 
             begin
            write(m,' ');
            inc(d);
             end ;
        inc(m);
         end ;
    writeln();
    write(d);
    
    close(input);close(output);
end .

Bạn có biết?

Tin học 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. 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. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 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 và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK