K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Trong một lần thám hiểm, Tom đã tìm thấy được một chiếc hộp bí mật. Để mở được chiếc hộp đó cần có mã khóa. Ở mặt trên và mặt dưới hộp Tom thấy hai dãy kí số S1 và S2 (gồm các kí tự từ 0 đến 9). Tom chắc một điều là hai dãy kí số này có liên quan đến mã số cần tìm. Sau một hồi suy nghĩ Tom cũng đã tìm ra quy luật để có được dãy mã khóa. Dãy mã khóa tìm theo các qui tắc sau:•         Gồm các kí tự...
Đọc tiếp

Trong một lần thám hiểm, Tom đã tìm thấy được một chiếc hộp bí mật. Để mở được chiếc hộp đó cần có khóa. Ở mặt trên mặt dưới hộp Tom thấy hai dãy số S1 S2 (gồm các tự từ 0 đến 9). Tom chắc một điều là hai dãy số này có liên quan đến số cần tìm. Sau một hồi suy nghĩ Tom cũng đã tìm ra quy luật để có được dãy mã khóa. Dãy khóa tìm theo các qui tắc sau:

         Gồm các tự số có mặt ở cả hai dãy kí số.

         Các kí tự số trong khóa chỉ xuất hiện duy nhất một lần.

         Giá trị khóa nhận được là một số đạt giá trị lớn nhất.

Yêu cầu: Cho hay dãy kí số. Hãy viết chương trình giúp Tom tìm ra mã khóa. Chương trình lưu với tên BAI4.PAS.Input: đọc từ file BAI4.INP  Input Output19012304034012 43210 • Dòng đầu ghi dãy kí số S1 ít hơn 255 số.• Dòng thứ hai ghi dãy kí số S2 ít hơn 255 số.Output: ghi ra file BAI4.OUT gồm dãy mã khóa cần tìm.

0
7 tháng 9 2023

Dưới đây là một ví dụ về cách giải quyết bài toán này bằng ngôn ngữ Pascal:

 function isPalindrome(s: string): boolean; var i, n: integer; begin n := Length(s); for i := 1 to n div 2 do begin if s[i] <> s[n - i + 1] then begin Result := false; Exit; end; end; Result := true; end; function countSuperPalindromes(s: string): integer; var i, j, n: integer; subStr: string; begin n := Length(s); Result := 0; // Đếm số xâu con đối xứng for i := 1 to n do begin subStr := ''; for j := i to n do begin subStr := subStr + s[j]; if isPalindrome(subStr) then Inc(Result); end; end; // Đếm số xâu con siêu đối xứng for i := 1 to n - 1 do begin subStr := ''; for j := i to n do begin subStr := subStr + s[j]; if isPalindrome(subStr) then Inc(Result); end; end; end; var s: string; begin s := 'ababcb'; writeln(countSuperPalindromes(s)); end.

Kết quả của ví dụ trên sẽ là 3, tương ứng với 3 xâu con siêu đối xứng của xâu "ababcb" là "aba", "bcb", và "ababcb".

Lưu ý rằng đây chỉ là một cách giải quyết bài toán và có thể tồn tại các cách giải khác.

7 tháng 9 2023

nó chạy ko ra bạn ơi

 

27 tháng 3 2022

Lưu ý :Dùng C++

27 tháng 3 2022

var s:string;

i:integer;

begin

write('Nhap xau ki tu S = ');readln(s);

for i:=1 to length(s) do

begin

if s[i] <> '0' then write('Vi tri cua so 0 cuoi cung la ',i-1);

i:=length(s);

end;

readln;

end.

1 tháng 7 2023

```cpp
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
int n;
std::cout << "Enter the number of integers (n < 10^5): ";
std::cin >> n;

std::vector&lt;int&gt; numbers(n); std::cout &lt;&lt; &quot;Enter &quot; &lt;&lt; n &lt;&lt; &quot; integers: &quot;; for (int i = 0; i &lt; n; ++i) { std::cin &gt;&gt; numbers[i]; } int sumOfOdd = 0; for (int i = 0; i &lt; n; ++i) { if (numbers[i] % 2 != 0) { sumOfOdd += numbers[i]; } } std::sort(numbers.begin(), numbers.end()); std::cout &lt;&lt; &quot;Sum of odd integers: &quot; &lt;&lt; sumOfOdd &lt;&lt; std::endl; std::cout &lt;&lt; &quot;Sorted sequence: &quot;; for (int i = 0; i &lt; n; ++i) { std::cout &lt;&lt; numbers[i] &lt;&lt; &quot; &quot;; } std::cout &lt;&lt; std::endl; return 0;

}
```

6 tháng 9 2021

Program HOC24;

var i,n: integer;

t: longint;

begin

read(n);

t:=n;

if n<>0 then

begin

while n<>0 do

begin

read(n);

t:=t+n;

end;

end;

readln;

readln

end.

Cách khác:

uses crt;

var n,t:integer;

begin

clrscr;

t:=0;

repeat

write('n='); readln(n);

t:=t+n;

until n=0;

writeln(t);

readln;

end.

Xâu đối xứngCho một xâu ký tự SS chỉ gồm các chữ cái thường a..z. Xâu đối xứng là xâu kí tự mà khi viết từ phải qua trái hay từ trái qua phải thì xâu đó không thay đổi. Ví dụ: madammadam, ioiioi là các xâu đối xứng.Yêu cầu: Với xâu ký tự SS cho trước, hãy tính số ký tự bỏ đi ít nhất để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.Ví dụ:Cho xâu aammmda thì cần bỏ 2 ký tự a và m thì xâu...
Đọc tiếp

Xâu đối xứng

Cho một xâu ký tự SS chỉ gồm các chữ cái thường a..z. Xâu đối xứng là xâu kí tự mà khi viết từ phải qua trái hay từ trái qua phải thì xâu đó không thay đổi. Ví dụ: madammadam, ioiioi là các xâu đối xứng.

Yêu cầu: Với xâu ký tự SS cho trước, hãy tính số ký tự bỏ đi ít nhất để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.

Ví dụ:

Cho xâu aammmda thì cần bỏ 2 ký tự a và m thì xâu còn lại là ammda và xếp lại thành madam là xâu đối xứng.

Cho xâu aaabbcc thì không cần bỏ ký tự thì xâu đó xếp lại thành bcaaacb là xâu đối xứng.

Dữ liệu vào

Đọc từ file văn bản XAUDX.INP chứa một xâu ký tự SS có nn ký tự (n≤105n≤105) chỉ gồm các ký tự chữ cái thường a..z.

Kết quả

Ghi ra file văn bản XAUDX.OUT một số nguyên là số lượng ký ít nhất cần bỏ để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.

Sample Input 1

 

aammmda

Sample Output 1

 

2

Sample Input 2

 

aaabbcc

Sample Output 2

0

Lưu ý :Dùng C++

 

1

#include<bits/stdc++.h>
using namespace std;
int main(){
long long i,dem[1000],d;
string s;
cin >>s;
for(i=0;i<s.size();i++)
    dem[s[i]]++;
d=0;
for(i=97;i<=122;i++)
   if(dem[i]%2==1)
      d++;
if(d>0)
    cout<<d-1;
else
    cout<<0;
return 0;
}

 

Xâu đối xứngCho một xâu ký tự SS chỉ gồm các chữ cái thường a..z. Xâu đối xứng là xâu kí tự mà khi viết từ phải qua trái hay từ trái qua phải thì xâu đó không thay đổi. Ví dụ: madammadam, ioiioi là các xâu đối xứng.Yêu cầu: Với xâu ký tự SS cho trước, hãy tính số ký tự bỏ đi ít nhất để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.Ví dụ:Cho xâu aammmda thì cần bỏ 2 ký tự a và m thì xâu...
Đọc tiếp

Xâu đối xứng

Cho một xâu ký tự SS chỉ gồm các chữ cái thường a..z. Xâu đối xứng là xâu kí tự mà khi viết từ phải qua trái hay từ trái qua phải thì xâu đó không thay đổi. Ví dụ: madammadam, ioiioi là các xâu đối xứng.

Yêu cầu: Với xâu ký tự SS cho trước, hãy tính số ký tự bỏ đi ít nhất để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.

Ví dụ:

Cho xâu aammmda thì cần bỏ 2 ký tự a và m thì xâu còn lại là ammda và xếp lại thành madam là xâu đối xứng.

Cho xâu aaabbcc thì không cần bỏ ký tự thì xâu đó xếp lại thành bcaaacb là xâu đối xứng.

Dữ liệu vào

Đọc từ file văn bản XAUDX.INP chứa một xâu ký tự SS có nn ký tự (n≤105n≤105) chỉ gồm các ký tự chữ cái thường a..z.

Kết quả

Ghi ra file văn bản XAUDX.OUT một số nguyên là số lượng ký ít nhất cần bỏ để các ký tự còn lại có thể sắp xếp được thành một xâu đối xứng.

Sample Input 1

 

aammmda

Sample Output 1

 

2

Sample Input 2

 

aaabbcc

Sample Output 2

0

Lưu ý :Dùng C++

 

1
14 tháng 2 2022

Đếm số lần xuất hiện của các kí tự 'a'..'z' trong xâu S. Dễ thấy với các kí tự có số lần xuất hiện là chẵn, ta có thể xếp một nửa kí tự đó sang 2 bên thỏa mãn tính chất đối xứng. Đối với kí tự có số lần xuất hiện là lẻ, ta làm tương tự và đưa kí tự còn lại vào trung tâm. Như vậy, để xâu sau khi xóa đối xứng thì chỉ có duy nhất một kí tự có số lần xuất hiện lẻ nên ta sẽ  xóa các kí tự lẻ đó, chỉ để lại 1 hoặc 0 cái cuối cùng. 
code tham khảo:
int main()
{
    string s;
    cin >> s;

    vector<int> fre(256, 0);
    for (char c : s) fre[c]++;

    int res = 0;
    for (int x : fre) res += (x % 2 == 1);
    cout << res - (res > 0);
    return 0;
}