Một số được gọi là "palindrome" nếu nó cũng như nhau khi đọc từ trái sang phải hay phải sang trái. Ví dụ, 11, 212, 14541, và 35553 là các số "palindrome". Tìm số các số nguyên dương giữa 100 và 300 có mũ là số "palindrome".
Dãy con đối xứng dài nhất
Một dãy số được gọi là đối xứng nếu các phần tử của nó đọc từ trái qua phải và từ phải qua trái là như nhau/
Ví dụ: hoặc
là các dãy số đối xứng.
Yêu cầu: Cho một dãy số nguyên A có phần tử. Hãy tìm dãy con đối xứng dài nhất trong dãy A, biết rằng dãy con là một dãy gồm nhiều phần tử liên tiếp.
Dữ liệu: vào từ file văn bản BAI5.INP:
- Dòng 1: số nguyên dương ;
- Dòng tiếp theo chứa số nguyên dương
Kết quả: ghi ra file văn bản BAI5.OUT một số nguyên duy nhất là độ dài dãy con đối xứng dài nhất trong dãy A.
Một số được gọi là “số đối xứng” nếu ta đọc số đó từ trái sang phải
hay từ phải sang trái là giống nhau. Ví dụ:121, 1111, 123321, ... là
các số đối xứng. Hỏi từ các chữ số 3, 5, 6, 0 có thể lập được bao
nhiêu “số đối xứng” có 4 chữ số (các chữ số có thể được sử dụng
nhiều lần).
mong các bạn giúp đỡ, mình đang cần gấp T.T
Một xâu có đội dài lớn hơn 1 chỉ gồm các chữ cái La tinh in thường được gọi là số đối xứng nếu ta đọc xâu đó từ trái sang phải và từ phải sang trái là như nhau. Một xâu được gọi là siêu đối xứng, nếu nó là xâu đối xứng hoặc được tạo thành bằng cách ghép liên tiếp từ nhiều xâu đối xứng.
Yêu cầu: Cho một xâu S, hãy đếm số xâu con siêu đối xứng của S ( Xâu con của một xâu S là một đoạn liên tiếp các kí tự của S)
Dữ liệu vào: Nhập xâu S từ bàn phím
Dữ liệu ra: Xuất ra màn hình số xâu con tìm được
Nhập S=aabbccdd
Xuất ra: 10 ( Các xâu siêu đối xứng là: aa, bb, cc, dd, aabb, bbcc, ccdd, aabbcc, bbccdd, aabbccdd )
làm bằng pascal nha. mình cảm ơn!
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.
Một xâu có đội dài lớn hơn 1 chỉ gồm các chữ cái La tinh in thường được gọi là số đối xứng nếu ta đọc xâu đó từ trái sang phải và từ phải sang trái là như nhau. Một xâu được gọi là siêu đối xứng, nếu nó là xâu đối xứng hoặc được tạo thành bằng cách ghép liên tiếp từ nhiều xâu đối xứng.
Yêu cầu: Cho một xâu S, hãy đếm số xâu con siêu đối xứng của S ( Xâu con của một xâu S là một đoạn liên tiếp các kí tự của S)
VD: ababcb Xuất ra:3 (aba,bcb,ababcb
pascal nha
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.
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 .
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.
thay các dấu * và các chữ bởi các chữ số thích hợp ****-***=**
biết răng số bị trừ ,số trừ và hiệu đều không đổi nếu đọc mỗi số từ phải sang trái
( ví dụ : 135 đọc từ phải sang trái là 531 )
Đặt phép tính là abba-cdc=ee a phải là 1, vì nếu a>1 thì 2bb2-cdc có luôn có 4 chữ số ( 2000-999=1001)
Thay a=1, ta có
1bb1-cdc=ee
c phải là 9 vì nếu c<9 thì 1bb1-cdc luôn có 3 chữ số ( 1001-898=103)
Thay c=9, ta có
1bb1-9d9=ee
Đên đây suy ra e=2
Thay e=2 ta có 1bb1-9d9=22
Ta thấy b phải là 0 vì nếu b>0 thì 1bb1-9d9 luôn có 3 chữ số (1111-999=112)
Thay b=0 ta có
1001-9d9=22
=>9d9=1001-22
9d9=979
=>d=7
Vậy ta có phép tính 1001-979=22
bạn hNguyễn Tuấn Minh làm sai rồi vì bài toán không có cơ sở nào để đặt abba cả
Bài 6: Số nguyên dương N gọi là số đối xứng nếu đọc từ trái qua phải giống với đọc từ phải qua trái. Ví dụ: 11,121,101 là các số đối xứng. Cho số N (N ≤ 106), xác định xem N có phải là số đối xứng hay không. Đưa ra thông báo “YES” nếu là số đối xứng, ngược lại thông báo “NO” viết bằng c++ ạ
#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;
}
thay các dấu * bởi các chữ số thích hợp:
**** - *** = **
biết rằng số bị trừ , số trừ và hiệu đều không đổi nếu đọc mỗi số từ phải sang trái . (ví dụ : số 135 nếu đọc từ phải sang trái thì được số 531 )
Thay các dấu * bởi các chữ số thích hợp : **** - *** = **
biết rằng số bị trừ, số trừ và hiệu đều không đổi nếu đọc mỗi số từ phải sang trái. ( Ví dụ: số 135 nếu đọc từ phải sang trái thì được số 531)