#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
bool ispalindromic(int i);
bool isthispalindromic(int i);
bool ispalindromic(int i) {
int dizi[6],c=0;
do {
dizi[c] = i % 10;
i/=10;
c++;
}while(i>0);
c--;
for(int k=0;k<=c;k++,c--) {
if(dizi[k]!=dizi[c]) {
return 0;
}
}
return 1;
}
bool isthisispalindromic(int dizi[],int c) {
c--;
for(int k=0;k<=c;k++,c--) {
if(dizi[k]!=dizi[c]) {
return 0;
}
}
return 1;
}
void tab() {
int dizi[10000],c,result=0;
for(int i=1;i<1000000;i++) {
if(ispalindromic(i)){
c=i;
int k=0;
do {
if(c%2==0) { dizi[k] = 0; }else { dizi[k] = 1;}
c/=2;
k++;
}while(c>0);
if(isthisispalindromic(dizi,k)) {
result+=i;
}
}
}
cout << "Project Euler - Problem 36\n";
cout << "Result :" << result << " efekanpulatli.blogspot.com" << endl;
}
int main()
{
clock_t tStart = clock();
tab();
printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
system("pause");
return 0;
}

Hiç yorum yok:
Yorum Gönder