Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save goFrendiAsgard/6773b61017a8f4c902245a9f5503b754 to your computer and use it in GitHub Desktop.

Select an option

Save goFrendiAsgard/6773b61017a8f4c902245a9f5503b754 to your computer and use it in GitHub Desktop.
#include <iostream>
#include <math.h>
using namespace std;
int get_digit(int angka, int digit){
int divider = 1;
for(int i=0; i<digit; i++){
divider *= 10;
}
int modder = divider * 10;
return (angka%modder) / divider;
}
int get_length(int angka){
int divider = 1;
int digit = 0;
while(angka/divider > 0){
digit ++;
divider *=10;
}
return digit;
}
int main()
{
int maxCheck = 1000;
int maxAngka = 0;
for(int i=0; i<maxCheck; i++){
for(int j=0; j<maxCheck; j++){
int angka = i*j;
if(angka > maxAngka){
int panjangAngka = get_length(angka);
bool palindrom = true;
for(int k=0; k< panjangAngka; k++){
if(get_digit(angka, k) != get_digit(angka, panjangAngka-1-k)){
palindrom = false;
break;
}
}
if(palindrom){
maxAngka = angka;
}
}
}
}
cout << maxAngka;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment