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.

Câu 1 - Các số đặc biệt                     Tên tệp chương trình : CAU1.PASĐịnh nghĩa: - Một số được gọi là đối xứng, nếu đọc từ bên trái sang bên phải hoặc từ bên phải sang trái đều được cùng một số. Ví dụ: số 75457 là số đối xứng.- Số chính phương là số bằng bình phương đúng của một số nguyên. Ví dụ số 256 là số chính phương (vì 256=162)Cho 2 số tự nhiên M và N (M, N trong khoảng từ 10 đến...
Đọc tiếp

Câu 1 - Các số đặc biệt                     Tên tệp chương trình : CAU1.PAS

Định nghĩa:

- Một số được gọi là đối xứng, nếu đọc từ bên trái sang bên phải hoặc từ bên phải sang trái đều được cùng một số. Ví dụ: số 75457 là số đối xứng.

- Số chính phương là số bằng bình phương đúng của một số nguyên. Ví dụ số 256 là số chính phương (vì 256=162)

Cho 2 số tự nhiên M và N (M, N trong khoảng từ 10 đến 100000 và M <N).

Yêu cầu:

a) Liệt kê và đếm xem có bao nhiêu số đối xứng nằm trong khoảng [M,N]

b) Liệt kê và đếm xem có bao nhiêu số chính phương nằm trong khoảng [M,N]

c) Liệt kê và đếm xem có bao nhiêu số đối xứng chính phương trong khoảng [M,N]

Dữ liệu vào là 2 số tự nhiên M và N nhập từ bàn phím. Kết quả in ra màn hình .

1
1 tháng 6 2021

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.

3 tháng 9 2015

215 số có đúng ko nhỉ

 

Giải:

Nếu chữ số đầu tiên là 1 thì chữ số tiếp theo phải là 9 để chia hết cho 19 

Th1:Nếu chữ số tiếp theo là 5 thì chữ số tiếp theo là: 7, chữ số tiếp theo là 6, chữ số tiếp theo là 2 và không tìm được chữ số nào để 2a chia hết cho 19 hoặc 31

Th2: Nếu chữ số tiếp theo là 1 thì chữ số tiếp theo là 9,... cứ lặp lại như vậy ta được: số 191919..191

Tổng lớn nhất có thể của tổng các chữ số của số đó là: (1+9+1+9+..+1+9+1)=2020:2x10+1=10101 

Chúc bạn học tốt!

2 tháng 6 2021

uhm, sai rùi nha bạn. Vì 91 ko chia hết cho 19 hay 31. Nhưng dù sao cũng cảm ơn bạn vì đã giúp mình, mình có ý tưởng và làm đc rồi! ^-^

30 tháng 6 2023

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.

30 tháng 6 2023

sao mình chạy nó ra 12 v bạn

 

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

 

10 tháng 5 2016

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.

12 tháng 5 2016

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