

Câu 2:Tìm mật khẩu
Tom là một cán bộ làm xử lý à lưu trữ dữ liệu của công ty vì vậy để đảm bảo an toàn dữ liệu Tom thương xuyên thay đổi mật khẩu của máy tính và dấu đi với quy ước riêng.Do sơ suất nên Tom quên mật khẩu mở máy,loay hoay mãi mà vẫn ko mở được máy.
Em hãy lập trình giúp Tom tìm lại mật khẩu,biết rằng mật khẩu được Tom mã hóa vào một xâu S với chiều dài không quá 250 ký tự với quy ước:mật khẩu là một số nguyên tố có giá trị lớn nhất trong số các số nguyên tố tạo được từ các xâu con của S(xâu con là một chuỗi liên tiêp các ký tự trong S).
ví dụ :xâu S="Test1234#password5426" chứa mật khẩu là 23 vì S chứa các xâu con ứng với các số nguyên tố 2,3,23 và 5.
Dữ liệu vào:gòm 1 dòng duy nhất là xâu S.
Kết quả:Ghi ra số mật khẩu tìm đc
vd
MATKHAU.INP MATKHAU.OUT
Test1234#password5426 23
C++
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
// Hàm kiểm tra số nguyên tố
bool isPrime(int num) {
if (num <= 1) return false;
if (num <= 3) return true;
if (num % 2 == 0 || num % 3 == 0) return false;
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) return false;
}
return true;
}
int main() {
string S;
cout << "Nhập xâu S: ";
cin >> S;
int maxPrime = -1;
// Duyệt qua tất cả các xâu con của S
for (int i = 0; i < S.length(); ++i) {
for (int j = i; j < S.length(); ++j) {
string subStr = S.substr(i, j - i + 1);
try {
int num = stoi(subStr);
if (isPrime(num)) {
maxPrime = max(maxPrime, num);
}
} catch (invalid_argument& e) {
// Không làm gì nếu không thể chuyển đổi thành số
}
}
}
if (maxPrime != -1) {
cout << "Mật khẩu là: " << maxPrime << endl;
} else {
cout << "Không tìm thấy số nguyên tố nào trong xâu S." << endl;
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
@$\text{JoonHae}$
#include<bits/stdc++.h>
#define hutao long long
using namespace std;
hutao d[1000005];
char find(string s)
{
for(int i='A';i<='Z';i++) d[i]=0;
for(int i=0;i<s.size();i++){
d[s[i]]++;
}
for(int i='A';i<='Z';i++){
if(d[i]==1) return char(i);
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("MATKHAU.inp","r",stdin);
freopen("MATKHAU.out","w",stdout);
string s,kq="";
hutao n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
char x=find(s);
kq+=x;
}
cout<<kq;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin