Untitled
unknown
plain_text
4 years ago
3.0 kB
4
Indexable
#include <bits/stdc++.h> using namespace std; #include <iostream> #include <cstring> int middle1 = 1, middle2; int check1, coprime; int check2 = 0; void coPrime(int num1, int num2) { int hcf, i; for(i=1;i<=num1;i++) { if(num1%i==0 && num2%i==0) { hcf = i; } } coprime = 0; // Making Decision if(hcf == 1) { coprime = 1; } } void Digitcheck(int N) { // To store the digit // of the number N int arr[100]; int p = 0; int j, r; check1 = 1; // Till N becomes 0 while (N != 0) { // Extract the last digit of N r = N % 10; // Put the digit in arr[] arr[p] = r; p++; // Update N to N/10 to extract // next last digit N = N / 10; } // Print the digit of N by traversing // arr[] reverse for (j = p - 1; j > -1; j--) { int first,second; if (j != 0){ first =(arr[j] - arr[j - 1]); if (first < 0) { first = first * (-1); } if( (first!=1)) { if (1) { check1 = 0; } } } } } bool isPalindrome(int number) { // 3 string str_number = to_string(number); // 4 int j = strlen(str_number.c_str()) - 1; // 5 for (int i = 0; i < j; i++, j--) { if (str_number[i] != str_number[j]) { // 6 return false; } } return true; } int main() { // 1 for(int i =100; i<= 1000000000; i++){ // 2 if(isPalindrome(i)){ int count = 0; int app; app=i; while (app!= 0) { app = app / 10; count = count + 1; } if (count%2!=0 ) { Digitcheck(i); if (check1 == 1){ int digits = (int)log10(i) + 1; middle2 = (int)(i / pow(10, digits / 2)) % 10; coPrime (middle1,middle2); if ( coprime == 1) { check2 = check2 +1; if (check2 == 56) { cout << i <<endl; } } middle1=middle2; } } } } return 0; }
Editor is loading...