Trang chủ Tin Học Lớp 7 Mô tả Saxa học ở một trường tiểu học. Trong giờ học Toán, Saxa được cô giáo cho một bài...
Câu hỏi :

Mô tả Saxa học ở một trường tiểu học. Trong giờ học Toán, Saxa được cô giáo cho một bài toán như sau. Cho trước hai số nguyên dương A và B, hãy sử dụng các chữ số mà xuất hiện trong cả hai số A, B để lập nên một số nguyên lớn nhất. Ví dụ với A = 280138, B = 798081 thì các chữ số xuất hiện trong cả hai số A, B là 8, 0, 1, 8 và số nguyên lớn nhất được tạo thành là 8810. Bạn hãy viết một chương trình giải bài toán trên để giúp Saxa kiểm tra kết quả. Dữ liệu vào Dòng đầu tiên ghi số nguyên dương A và dòng thứ hai ghi số nguyên dương B. Hai số A và B có số lượng chữ số bằng nhau và không vượt quá 100.000 chữ số. Dữ liệu ra Ghi ra số nguyên lớn nhất được tạo thành bằng cách sử dụng các chữ số xuất hiện trong cả hai số A và B. Nếu không có số nào như vậy thì ghi ra số -1. Ví dụ dữ liệu vào 280138 798081 Ví dụ dữ liệu ra 8810 Gợi ý Ví dụ dữ liệu vào: 123 456 Ví dụ dữ liệu ra: -1 giúp code c++ với

Lời giải 1 :

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    string a, b;
    cin >> a >> b;

    sort(a.begin(), a.end());
    sort(b.begin(), b.end());

    string res = "";
    int i = 0, j = 0;
    while (i < a.size() && j < b.size())
    {
        if (a[i] == b[j])
        {
            res += a[i];
            i++;
            j++;
        }
        else if (a[i] < b[j])
        {
            i++;
        }
        else
        {
            j++;
        }
    }

    if (res == "")
    {
        cout << "-1";
    }
    else
    {
        sort(res.begin(), res.end(), greater<char>());
        cout << res;
    }

    return 0;
}

image

Lời giải 2 :

`text{CODE}`

#include <bits/stdc++.h>
using namespace std;
int main() {
    string a, b;
    cin>>a>>b;
    unordered_map<char, int> c,d;
    for (char s : a)
        c[s]++;
    for (char s : b)
        d[s]++;
    string res="";
    for (char s='9';s>='0';s--) {
        int count=min(c[s],d[s]);
        while (count>0) {
            res+=s;
            count--;
        }
    }
    if (res.empty())
        cout << "-1" ;
    else
        cout <<res;


    return 0;
}

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 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK