#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <cmath>
#include <time.h>
using namespace std;
int digit(int y) {
int c=0;
do {
y/=10;
c++;
}while(y>0);
return c;
}
void make() {
int c,k=-1,m,counter=0;
int dizi[10];
dizi[6] = 0;
for(int i=1;i<900000;i++) {
if(dizi[6]!=0) break;
c=i;
m=0;
k+=digit(i);
do {
if((k-m)+1==1 || (k-m)+1==10 || (k-m)+1 == 100 || (k-m)+1==1000 || (k-m)+1==10000 || (k-m)+1==100000 || (k-m)+1==1000000) {
dizi[counter]=c%10;
counter++;
}
c/=10;
m++;
}while(c>0);
}
int result=1;
for(int i=0;i<7;i++) {
result*=dizi[i];
}
cout << "Project Euler - Problem 40(Champernowne's constant)\n";
cout << "Result :" <<result << " efekanpulatli.blogspot.com" << endl;
}
int main() {
clock_t tStart = clock();
make();
printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
system("pause");
return 0;
}

Hiç yorum yok:
Yorum Gönder