Bùi Thị Sáu

Những câu hỏi liên quan
Hoàng Hugi
Xem chi tiết
Nguyễn Lê Phước Thịnh
19 tháng 12 2021 lúc 23:33

#include <bits/stdc++.h>

using namespace std;

string st;

int d,i;

bool kt;

int main()

{

getline(cin,st);

kt=true;

d=st.length();

for (i=0; i<=d-1; i++)

if (st[i]!=st[d-i-1]) kt=false;

if (kt==true) cout<<"YES";

else cout<<"NO";

return 0;

}

Bình luận (0)
Long ca ca
Xem chi tiết
Phía sau một cô gái
30 tháng 6 2023 lúc 20:10

program superSymmetricalSubstring;

var

      s: string;

function isSymmetrical(str: string): boolean;

var

      i, len: integer;

begin

      len := length(str);

      for i := 1 to len div 2 do

      begin

            if str[i] <> str[len - i + 1] then

            begin

                  exit(false);

            end;

      end;

      exit(true);

end;

function countSuperSymmetricalSubstrings(s: string): integer;

var

      i, j, len, count: integer;

begin

      len := length(s);

      count := 0;

      for i := 1 to len do

      begin

            for j := 2 to len - i + 1 do

            begin

                  if isSymmetrical(copy(s, i, j)) then

                  begin

                        count := count + 1;

                  end;

            end;

      end;

      count := count + len;

      exit(count);

end;

begin

      write('Nhap xau S: ');

      readln(s);

      writeln('So xau con sieu doi xung cua S: ', countSuperSymmetricalSubstrings(s));

      readln;

end.

Bình luận (1)
Long ca ca
Xem chi tiết
meme
7 tháng 9 2023 lúc 13:41

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.

Bình luận (1)
Ngô Chí Thành
Xem chi tiết
Minh Lệ
1 tháng 6 2021 lúc 15:30

Program HOC24;

var m,i,n: longint;

d1,d2,d3: integer;

function dx(x: longint): boolean;

var j: longint;

s,s1: string;

begin

s1:='' dx:=false;

str(x,s);

for j:=length(s) downto 1 do 

s1:=s1+s[j];

if s=s1 then dx:=true else exit;

end;

function cp(k: longint): boolean;

begin

cp:=false;

if k=sqr(trunc(sqrt(k))) then cp:=true else exit;

end;

begin

write('Nhap M; N: '); readln(m,n);

d1:=0; d2:=0; d3:=0;

if (m<n) and (m>=10) and (n<=100000) then

begin

write('Cac so doi xung la: ');

for i:=m to n do

if dx(i) then

begin

d1:=d1+1;

write(i,' ');

end;

writeln;

writeln('Co ',d1,' so doi xung');

write('Cac so chinh phuong la: ');

for i:=m to n do

if cp(i) then 

begin

d2:=d2+1;

write(i,' ');

end;

writeln;

writeln('Co ',d2,' so chinh phuong');

write('Cac so doi xung chinh phuong la: ');

for i:=m to n do

if dx(i) and cp(i) then 

begin

d3:=d3+1;

write(i,' ');

end;

writeln;

write('Co ',d3,' so doi xung chinh phuong');

end;

readln

end.

Bình luận (0)
Hello1234
Xem chi tiết

#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;
}

 

Bình luận (0)
Hello1234
Xem chi tiết
Nguyễn Thị Thùy Trang
14 tháng 2 2022 lúc 13:37

Đế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;
}

Bình luận (0)
APOK FF
Xem chi tiết
Hoàng Trần Thanh Hà _THP...
Xem chi tiết
gấu béo
26 tháng 3 2023 lúc 22:37

n = int(input("Nhập n: "))

a = [ ]

for i in range(n):

     a.append(int(input(f"Nhập phần tử a[{i}]: ")))

print("Dãy số vừa nhập:")

# In dãy số theo thứ tự ngược lại

print(a[::-1]) 

if a == a[::-1]:

     print("Dãy số là dãy đối xứng")

else:

     print("Dãy số không phải là dãy đối xứng")

Bình luận (0)
Nguyễn Diệu Thảo
Xem chi tiết