In số đếm của tất cả các số đối xứng cho đến n trong javascript

Một chuỗi là một palindrome nếu nó được đọc giống nhau từ phía trước hoặc phía sau. Ví dụ, bố đọc giống nhau từ phía trước hoặc phía sau. Vì vậy, từ cha là một palindrome. Tương tự, madam cũng là một palindrome

ví dụ 1. Kiểm tra Palindrome bằng for Loop

// program to check if the string is palindrome or not

function checkPalindrome[string] {

    // find the length of a string
    const len = string.length;

    // loop through half of the string
    for [let i = 0; i < len / 2; i++] {

        // check if first and last string are same
        if [string[i] !== string[len - 1 - i]] {
            return 'It is not a palindrome';
        }
    }
    return 'It is a palindrome';
}

// take input
const string = prompt['Enter a string: '];

// call the function
const value = checkPalindrome[string];

console.log[value];

đầu ra

Enter a string: madam
It is a palindrome

Trong chương trình trên, hàm

Enter a string: madam
It is a palindrome
8 nhận đầu vào từ người dùng

  • Độ dài của chuỗi được tính bằng thuộc tính
    Enter a string: madam
    It is a palindrome
    9
  • Vòng lặp
    Enter a string: madam
    It is a palindrome
    0 được sử dụng để lặp đến một nửa chuỗi. Điều kiện
    Enter a string: madam
    It is a palindrome
    1 dùng để kiểm tra xem ký tự đầu và ký tự cuối tương ứng có giống nhau không. Vòng lặp này tiếp tục cho đến một nửa chuỗi
  • Trong quá trình lặp, nếu bất kỳ ký tự nào của xâu khi so sánh với xâu cuối cùng tương ứng của nó không bằng nhau thì xâu đó không được coi là đối xứng

ví dụ 2. Kiểm tra Palindrome bằng Hàm tích hợp

// program to check if the string is palindrome or not

function checkPalindrome[string] {

    // convert string to an array
    const arrayValues = string.split[''];

    // reverse the array values
    const reverseArrayValues = arrayValues.reverse[];

    // convert array to string
    const reverseString = reverseArrayValues.join[''];

    if[string == reverseString] {
        console.log['It is a palindrome'];
    }
    else {
        console.log['It is not a palindrome'];
    }
}

//take input
const string = prompt['Enter a string: '];

checkPalindrome[string];

đầu ra

Enter a string: hello
It is not a palindrome

Trong chương trình trên, bảng màu được kiểm tra bằng các phương thức tích hợp có sẵn trong JavaScript

  • Phương thức
    Enter a string: madam
    It is a palindrome
    2 chuyển đổi chuỗi thành các ký tự mảng riêng lẻ.
    const arrayValues = string.split['']; // ["h", "e", "l", "l", "o"]
  • Phương thức
    Enter a string: madam
    It is a palindrome
    3 đảo vị trí trong mảng.
    // ["o", "l", "l", "e", "h"]
    const reverseArrayValues = arrayValues.reverse[];
  • Phương thức
    Enter a string: madam
    It is a palindrome
    4 nối tất cả các phần tử của một mảng thành một chuỗi.
    Enter a string: madam
    It is a palindrome
    1
  • Sau đó, câu lệnh
    Enter a string: madam
    It is a palindrome
    5 được sử dụng để kiểm tra xem chuỗi và chuỗi bị đảo ngược có bằng nhau không. Nếu chúng bằng nhau, chuỗi là một palindrome

Ghi chú. Nhiều dòng mã có thể được giảm và viết trong một dòng

Enter a string: madam
It is a palindrome
3

số Palindrome trong c. Một số palindrome là một số giống nhau sau khi đảo ngược. Ví dụ 121, 34543, 343, 131, 48984 là các số đối xứng

Thuật toán số Palindrome

  • Lấy số từ người dùng
  • Giữ số trong biến tạm thời
  • Đảo ngược số
  • So sánh số tạm thời với số đảo ngược
  • Nếu cả hai số giống nhau, hãy in số palindrome
  • Khác in không số palindrome

Hãy xem chương trình palindrome trong C. Trong chương trình c này, chúng tôi sẽ nhận đầu vào từ người dùng và kiểm tra xem số đó có phải là số nhạt màu hay không

Trong vấn đề này, chúng ta sẽ xem cách tạo số palindromic trong một phạm vi nhất định một cách hiệu quả bằng cách khám phá các mẫu của palindromic.

Mục lục

1 Giới thiệu vấn đề
2 Các phương pháp giải quyết vấn đề
3 Các giải pháp mạnh mẽ
4 Hiểu mô hình
5 Optimized solution for generating palindromic numbers

Giới thiệu vấn đề

Vì vậy, trước hết, chúng ta hãy thảo luận về palindrome là gì, palindrome là một chuỗi đọc ngược giống như đọc xuôi

Thí dụ

Sau đây là các ví dụ về palindromes

XE ĐUA

Nó sẽ được đọc tiến và lùi như minh họa bên dưới

Hãy xem xét thêm một ví dụ

ĐIỀU DƯỠNG

Nó cũng sẽ được đọc tiến và lùi giống như minh họa bên dưới

Vì vậy, bạn thấy trình tự palindrome sẽ được đọc giống nhau bất kể bạn đọc nó như thế nào. e. tiến hoặc lùi

Điều tương tự cũng xảy ra với các số, một số đọc xuôi cũng như đọc xuôi được gọi là số đối xứng

Ví dụ về số palindromic

Một số số đối xứng được cho sau.
11
101
1221
1123211

Bạn có thể thấy bất kể bạn đọc số trên như thế nào, chúng sẽ được đọc giống nhau. e. tiến và lùi

Các cách tiếp cận để giải quyết một vấn đề

Có 2 cách cơ bản để giải quyết mọi vấn đề đã cho
1 Tìm giải pháp của chúng tôi bằng cách tìm kiếm từng cái một trong toàn bộ tập dữ liệu
2 Tạo ra giải pháp phù hợp

giải pháp bạo lực

Vì vậy, cách tiếp cận đầu tiên của hầu hết mọi lập trình viên để giải quyết vấn đề là giải pháp vũ phu, vì vậy hãy thảo luận về giải pháp vũ phu cho vấn đề này

Giải pháp vũ phu cho vấn đề này chỉ đơn giản là thế này

thuật toán

1 bắt đầu lặp lại từ 1 cho đến số đã cho, giả sử N
2 gọi số trong lần lặp là original_number
3 đảo ngược original_number và gọi nó
4 compare the original_number and reverse_number
5 if both are equal print the original_number as palindrome
6 else increment the number which is under the loop by 1 and go to step 2 repeat it until the loop condition will be false

Mã Python

Enter a string: madam
It is a palindrome
4

Độ phức tạp về thời gian của đoạn mã trên lớn hơn O[n] vì thao tác đảo ngược chuỗi cũng cần thêm thời gian để chuyển đổi một chuỗi thành dạng đảo ngược của nó và nó phụ thuộc vào độ dài của số cũng có thể thay đổi

Vì vậy, đây là giải pháp vũ phu trong giải pháp này, cách tiếp cận của chúng tôi về cơ bản là tìm giải pháp từng giải pháp một trong toàn bộ tập dữ liệu

Hiểu mô hình của các số palindromic

Bây giờ chúng ta sẽ hiểu mô hình của các giải pháp đối xứng sẽ giúp chúng tôi xây dựng giải pháp tối ưu hóa cho một vấn đề. Chúng ta hãy xem lại một số ví dụ về số palindrome.
1
22
3333
1221
144441 . e. các số đối xứng có độ dài lẻ [1, 131, 11411. ] và các số đối xứng có độ dài chẵn [22, 3333, 1221,. ].
131
11411
22322
If we categorize the above numbers based on length, we'll find out that there are two types of palindromic numbers exists i.e. odd length palindromic numbers[1, 131, 11411 ...] and even length palindromic numbers[22, 3333, 1221, ...].

Số palindromic có độ dài lẻ

Nếu chúng ta cố gắng hiểu các số palindromic có độ dài lẻ, chúng ta sẽ thấy một khuôn mẫu trong đó, chữ số ở giữa sẽ khác và các chữ số ở bên phải và bên trái của nó là phản chiếu của nhau.
1 1 2 1 1
1 3 1
2 3 4 3 2

Các số palindromic có độ dài chẵn

Bây giờ hãy cố gắng hiểu quy luật nào tồn tại trong các số đối xứng có độ dài chẵn, trong các số đối xứng có độ dài chẵn, chúng ta thấy rằng các chữ số ở đầu số thì hình ảnh phản chiếu của các chữ số đó nằm ở cuối của số đó . Hãy xem xét các ví dụ sau.
2 2
3 3 3 3
1 2 2 1

Tất cả các số trên đều có độ dài chẵn, hãy thảo luận từng số một

  • Trong 22, độ dài của số là hai nếu chúng ta chia nó thành hai phần thì độ dài của mỗi phần sẽ là một chữ số, vì vậy, 2 ở đầu số cũng như ở cuối số đại diện cho gương của chữ số bắt đầu
  • Trong 3333 cả hai phần tôi. e. đầu và cuối của các số sẽ chứa hai chữ số, vì vậy 33 ở đầu số và gương của nó cũng là 33 ở cuối số
  • Năm 1221, cả hai phần của số đều chứa hai chữ số, phần đầu có 12 và phần cuối có gương là 21, bây giờ hãy xem trong ví dụ này, mô hình các số đối xứng có độ dài chẵn được giải thích rất rõ

Tất cả các số đối xứng có độ dài chẵn đều có cùng một mẫu được giải thích ở trên

Giải pháp tối ưu hóa để tạo số palindromic

Bây giờ chúng tôi hiểu mô hình của các số palindrome, vì vậy chúng tôi có thể xây dựng một giải pháp tối ưu hóa cho vấn đề đã cho. Vì vậy, bây giờ chúng ta biết rằng có hai loại palindromic i. e. số chiều dài chẵn và chiều dài lẻ tồn tại trong bất kỳ phạm vi nhất định nào. Vì vậy, nếu chúng ta suy nghĩ một chút, chúng ta sẽ có thể đưa ra một thuật toán có thể tạo ra cả hai loại số đối xứng trong một phạm vi nhất định

Giả sử chúng ta phải tạo tất cả các số đối xứng nhỏ hơn 104

thuật toán

1 Gọi số đã cho n[trong trường hợp của chúng ta là 104]
2 Bắt đầu lặp lại từ số 1 và gọi nó là i
3 sử dụng i để tạo .
4 print the pal
5 increment i by 1
6 go to step 3 and repeat the process until the pal is less than n.

Sử dụng thuật toán trên một lần nữa để tạo ra các palindromes có độ dài lẻ [i. e. trong bước 3 của thuật toán trên tạo bảng màu chiều dài lẻ]

Khi thuật toán trên hoàn thành, tất cả các đối xứng đã được tạo nhỏ hơn một số đã cho [104]

Bây giờ để làm cho mọi thứ trở nên dễ hiểu, hãy để tôi viết mã thuật toán trên thành hai phần, một phần sẽ tạo ra tất cả các đối xứng có độ dài chẵn và phần còn lại sẽ tạo ra tất cả các đối xứng có độ dài lẻ, cuối cùng, tôi sẽ hợp nhất hai phần này và nghĩ ra

Mã cho palindromes chiều dài chẵn

Enter a string: madam
It is a palindrome
5

Hãy chạy khô đoạn mã trên của chúng tôi cho số 12

  • Ban đầu n = 12
  • Điều kiện của chúng ta sẽ đúng và i sẽ là 12 * 10 + [2] = 122
  • Bây giờ n sẽ là 1 sau khi thực hiện câu lệnh này n = n // 10
  • Điều kiện vẫn đúng và tôi sẽ là 122 * 10 + [1] = 1221
  • Bây giờ n sẽ là 0 sau khi thực hiện câu lệnh này n = n // 10
  • Bây giờ điều kiện sẽ là sai, i sẽ được trả về từ hàm sẽ là 1221, đây là một bảng màu có độ dài chẵn

Đây là cách chức năng trên sẽ hoạt động để tạo các palindrome có độ dài bằng nhau mà bạn có thể chạy khô hoặc thực thi nó cho bất kỳ số nào

Mã cho palindromes chiều dài lẻ

Enter a string: madam
It is a palindrome
6

Hãy chạy khô đoạn mã trên của chúng tôi cho số 12

  • Ban đầu n = 1
  • Điều kiện của chúng ta sẽ đúng và i sẽ là 12 * 10 + [1] = 121
  • Bây giờ n sẽ là 0 sau khi thực hiện câu lệnh này n = n // 10
  • Bây giờ điều kiện sẽ là sai, i sẽ được trả về từ hàm sẽ là 121, đây là một bảng màu có độ dài lẻ

Đây là cách chức năng trên sẽ hoạt động để tạo các bảng màu có độ dài lẻ mà bạn có thể chạy khô hoặc thực thi nó cho bất kỳ số nào

Mã hoàn chỉnh để tạo tất cả các palindrome nhỏ hơn N

Enter a string: madam
It is a palindrome
7

Trên đây là đoạn mã hoàn chỉnh để tạo tất cả các bảng màu trong một phạm vi nhất định. Đó là sản phẩm của hai chức năng trên [generate_odd_length_palindromes, generate_odd_length_palindromes] mà tôi đã giải thích để giúp bạn hiểu toàn bộ logic giải quyết vấn đề này

Có bao nhiêu palindromes có độ dài n?

Do đó, đối với mỗi vị trí từ 0 đến N/2 có 62 N/2 tùy chọn . Tương tự, nếu độ dài là số lẻ, có 62[N+1]/2 phương án. Do đó, có thể nói rằng, đối với một số N, có thể có 62ceil[N/2] chuỗi palindromic. . Similarly, if the length is odd, 62[N+1]/2 options are there. Hence, it can be said that, for some N, there are 62ceil[N/2] possible palindromic strings.

Có bao nhiêu số đối xứng từ 1 đến 50?

Số 30 số palindromic đầu tiên [ở dạng thập phân] là. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, . Số Palindrome nhận được nhiều sự chú ý nhất trong lĩnh vực toán học giải trí.

Làm cách nào để tạo số palindrome trong JavaScript?

Thuật toán đối xứng .
Nhận các chuỗi hoặc số từ người dùng
Lấy một biến tạm thời chứa các số
Đảo ngược số đã cho
So sánh số ban đầu với số đảo ngược
Nếu số tạm thời và số ban đầu giống nhau, thì số hoặc chuỗi đó là Palindrome

Có bao nhiêu số đối xứng trong khoảng từ 1000 đến 10000?

tỷ lệ phần trăm

Chủ Đề