Những câu hỏi liên quan
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)
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)
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)
Bùi Thị Sáu
Xem chi tiết
buithuydung
Xem chi tiết
nguyễn thanh tân
10 tháng 5 2016 lúc 19:26

giả sử số đối xứng là abba,a khác 0.

abba = 1000a +100b+10b+a = 1001a+110b

do 1001 chia hết cho 7 nên abba chia hết cho 7 khi 110b chia hết cho 7 hay b chia hết cho 7. Từ đó suy ra b=0 hoặc b=7.ứng với mỗi giá trị của b có 9 giá trị của a. Vậy có 18 số cần tìm.

Bình luận (0)
Hoang Thu Thao
12 tháng 5 2016 lúc 18:21

Gọi n=xyyx(x,ý là các chữ số x khác 0) lá số đối xứng có 4 chữ số chia hết cho 7.

Vậy n=1000x+100y+10y+n= 1001x+110y.

mà 1001x= 7.143.x chia cho 7. Do đó n chia hết cho 7.

Suy ra y chia hết cho 7(mà 110 k chia hết cho 7).

Vậy ý="0,7". Suy ra từ 1000 đến 9999ta có 9.2=18(số) chia hạt cho 7

Bình luận (0)
Nguyễn Phương Linh
13 tháng 5 2016 lúc 21:01

có 18 số cần tìm ( bạn ở NB phải không, đề này của SGD NB, mình cũng thi phải câu này )

Bình luận (0)
Trần Thị Khánh Linh
Xem chi tiết
Đinh Huy Đức
Xem chi tiết
Trần Quốc Đạt
Xem chi tiết