1
0
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
37
22
I. Hướng dẫn giải BT kiểm tra xâu đối xứng trong pascal C++
1. Kiểm tra xâu đối xứng cách 1
– Cách đơn giản nhất là ta sẽ đọc ngược lại xâu S và lưu vào biến S1. sau đó kiểm tra 2 xâu có hoàn toàn giống nhau hay không?
ví dụ:
S=”abcde” => S1=”edcba”. 2 xâu này không giống nhau nên không là xâu đối xứng.
S=”aabccbaa” => S1=”aabccbaa”. 2 xâu này giống nhau hoàn toàn nên kết luận được là xâu đối xứng.
– Đây cũng là cách mà trong sách giáo khoa Tin học 11 chia sẻ
Hãy giúp mọi người biết câu trả lời này thế nào?
var str,s:string[100];
n,i:integer;
procedure sx( var a,b:char);
var tam:char;
begin
tam:=a;
a:=b;
b:=tam;
end;
procedure dao(n,i:integer);
var j:integer;
begin
for j:=i+1 to n do
if str[i]=str[j] then
begin
sx(str[j],str[n-i+1]);
exit
end;
end;
begin
clrscr;
write('nhap xau:');readln(str);
n:=length(str);
s:='';
for i:=n downto 1 do s:=s+str[i];
if str=s then writeln('chuoi doi xung:')
else
begin
writeln('chuoi ko doi xung,chuoi da dảo doi xung:');
for i:=1 to n-1 do
dao(n,i);
end;
write(str);
readln;
end.
Hãy giúp mọi người biết câu trả lời này thế nào?
MÌnh làm như này bạn xem dc ko :)) program xaukt; uses crt; var s,s1:string; i:integer; begin clrscr; writeln('nhap vao 1 xau: '); readln(s); s1:=''; for i:=length(s) downto 1 do s1:=s1+s[i]; writeln('xau dx: ',s1); if s1=s then writeln('xau ',s1,' doi xung') else begin writeln('chuoi ko doi xung,chuoi da dao la: '); for i:=length(s1) downto 1 do write(s1[i]); end; readln; end. Rút gọnMÌnh làm như này bạn xem dc ko :)) program xaukt; uses crt; var s,s1:string; i:integer; begin clrscr; writeln('nhap vao 1 xau: '); readln(s); s1:=''; for i:=length(s) downto 1 do s1:=s1+s[i]; writeln('xau dx: ',s1); ... xem thêm
ko :)))
Bảng tin
40
135
14
#include <bits/stdc++.h> using namespace std; long long d[300],m=0; long long kq=0; string s; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>s; for(int i=0;i<=s.size()-1;i++) { d[s[i]]++; } for(int i=1;i<=s.size()-1;i++) { if(d[s[i]]%2==0 && d[s[i]]>0) { kq+=d[s[i]]; d[s[i]]=0; } } long long l=0; for(int i=1;i<=s.size()-1;i++) { if(d[s[i]]%2==1) { l=max(l,d[s[i]]); } } for(int i=1;i<=s.size()-1;i++) { if(d[s[i]]%2==1 && d[s[i]]<=l) { kq+=(d[s[i]]-1); d[s[i]]=0; } } cout<<kq+1; } Rút gọn#include <bits/stdc++.h> using namespace std; long long d[300],m=0; long long kq=0; string s; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>s; for(int i=0;i<=s.size()-1;i++) { d[s[i]]++; } ... xem thêm