Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

หมายเลขพาลินโดรมทั้งหมดในรายการ?


เราจะเห็นปัญหาง่ายๆ ประการหนึ่ง เราต้องหาตัวเลขทั้งหมดที่มีลักษณะเป็นพาลินโดรมในรายการที่กำหนด วิธีการนั้นง่าย นำแต่ละหมายเลขจากรายการและตรวจสอบว่าเป็น palindrome หรือไม่ แล้วพิมพ์หมายเลข

อัลกอริทึม

getAllPalindrome(arr, n)

Begin
   for each element e in arr, do
      if e is palindrome, then
         print e
      end if
   done
End

ตัวอย่าง

#include <iostream>
#include <cmath>
using namespace std;
bool isPalindrome(int n){
   int reverse = 0, t;
   t = n;
   while (t != 0){
      reverse = reverse * 10;
      reverse = reverse + t%10;
      t = t/10;
   }
   return (n == reverse);
}
int getAllPalindrome(int arr[], int n) {
   for(int i = 0; i<n; i++){
      if(isPalindrome(arr[i])){
         cout << arr[i] << " ";
      }
   }
}
int main() {
   int arr[] = {25, 145, 85, 121, 632, 111, 858, 45};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << "All palindromes: ";
   getAllPalindrome(arr, n);
}

ผลลัพธ์

All palindromes: 121 111 858