31 Mart 2013 Pazar

Fifty second solution of Project Euler - Permuted multiples



#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <time.h>
using namespace std;
bool div(int i,int seqq[6]) {
int seq[6];
memcpy(seq, seqq, sizeof seqq[0] * 6);
int dizii[6],c=0;
do {
dizii[c]=i%10;
i/=10;
c++;
}while(i>0);
int counter=0;
for(int k=0;k<6;k++) {
for(int m=0;m<6;m++) {
if(dizii[k] == seq[m]) {
if(dizii[k]!=-1 && seq[m]!=-1)
counter++;
dizii[k]=-1;
seq[m]=-1;
}
}
}
if(counter==6){

return 1;

}
return 0;
}



void make() {
int dizi[6],m;
for(int i=100000;i<170000;i++) {
m=i;
int c=0;
do {
dizi[c]=m%10;
m/=10;
c++;

}while(m>0);
if(div(i*2,dizi)==1)
{
if(div(i*3,dizi)==1)
if(div(i*4,dizi)==1)
if(div(i*5,dizi)==1)
if(div(i*6,dizi)==1) {
cout << "Project Euler - Problem 52(Permuted multiples)\n";
  cout << "Result :" << i << " 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;
}

Fifty fourth solution of Project Euler - Poker Hands






#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include "efe.h"
#include <time.h>
using namespace std;
int result=0;
bool checkcolor(int dizi[2][5]) ;
bool checkcolor(int dizi[2][5]) {
for(int i=0;i<4;i++) {
if(dizi[1][i]!=dizi[1][i+1]) {
return 0;

}
}
return 1;
}
int checknumbers(int dizi[2][5]) ;
int isstraight(int dizi[2][5]);
int isstraight(int dizi[2][5]) {
int counter=0,c;

for(int i=0;i<3;i++) {
if(dizi[0][i]==dizi[0][i+1]) {
counter++;
c=dizi[0][i];
}
}
if(counter==3) {
return 400+c;                     //means Four of a Kind: Four cards of the same value.
}


if((dizi[0][4]-dizi[0][3]) == 1 && (dizi[0][3]-dizi[0][2]) == 1 &&  (dizi[0][2]-dizi[0][1]) == 1 &&  (dizi[0][1]-dizi[0][0]) == 1 && dizi[0][4] == 14) {

return 3;           //2 means that it can be royal flush,it is straight and finish as A

}


if(dizi[0][4]-dizi[0][3] == 1 && dizi[0][3]-dizi[0][2] == 1 &&  dizi[0][2]-dizi[0][1] == 1 &&  dizi[0][1]-dizi[0][0] == 1) {

return 150+dizi[0][4];           //1 means straight

}



if(dizi[0][0]==dizi[0][1] && dizi[0][2]==dizi[0][3] && dizi[0][3]==dizi[0][4]) {

return 300+dizi[0][4];           //this means there is full house

}




return 0;       // 0 means no straight

}

int checknumbers(int dizi[2][5]) {
int c;
for(int i=0;i<4;i++) {
for(int k=0;k<4;k++) {
if(dizi[0][k]>dizi[0][k+1]) {
c = dizi[0][k] ;
dizi[0][k] =dizi[0][k+1] ;
dizi[0][k+1] = c;
}
}
}


if(isstraight(dizi)==3 && checkcolor(dizi)==1) {                  //royal flush
return 500;
}
if(isstraight(dizi)==1 && checkcolor(dizi)==1) {                    //straight flush
return 450+dizi[0][4];
}


if(isstraight(dizi)<415 && isstraight(dizi) > 400) {                  // Four cards of the same value.
return isstraight(dizi);
}
if(isstraight(dizi)<315 && isstraight(dizi) > 300) {                  // house
return isstraight(dizi);
}

if(checkcolor(dizi) == 1) { //flush

return 200;        

}
if(isstraight(dizi)<165 && isstraight(dizi)>150) {                    //straight
return isstraight(dizi);
}

for(int i=0;i<3;i++) {                                           //three of a kind
if(dizi[0][i] == dizi[0][i+1] && dizi[0][i+1] == dizi[0][i+2]) {

return 100+dizi[0][i];

}
}
int a=0,b=0;
for(int i=0;i<4;i++) {                   //two pair
for(int k=i+1;k<5;k++) {
if(dizi[0][i] == dizi[0][k]) {
if(a==0) {
a=dizi[0][i];
}else {
b=dizi[0][i];
}

}


}
}
if(a!=0 && b!=0) {
return 50+b;
}

for(int i=0;i<4;i++) {                   //one pair
for(int k=i+1;k<5;k++) {
if(dizi[0][i] == dizi[0][k]) {
return 30+dizi[0][i];
}
}
}




return dizi[0][4];         //high card


}

void make(string line) {
int dizi[2][5];

for(int i=0,n=0;i<14;i+=3,n++) {
if(line[i]=='T')
dizi[0][n]=10;
else if(line[i]=='J')
dizi[0][n]=11;
else if(line[i]=='Q')
dizi[0][n]=12;
else if(line[i]=='K')
dizi[0][n]=13;
else if(line[i]=='A')
dizi[0][n]=14;
else {
dizi[0][n]=line[i]-48;

}
if(line[i+1]=='C')
dizi[1][n]=0;
if(line[i+1]=='S')
dizi[1][n]=1;
if(line[i+1]=='H')
dizi[1][n]=2;
if(line[i+1]=='D')
dizi[1][n]=3;
}


int handone=checknumbers(dizi);




for(int i=15,n=0;i<29;i+=3,n++) {
if(line[i]=='T')
dizi[0][n]=10;
else if(line[i]=='J')
dizi[0][n]=11;
else if(line[i]=='Q')
dizi[0][n]=12;
else if(line[i]=='K')
dizi[0][n]=13;
else if(line[i]=='A')
dizi[0][n]=14;
else {
dizi[0][n]=line[i]-48;

}
if(line[i+1]=='C')
dizi[1][n]=0;
if(line[i+1]=='S')
dizi[1][n]=1;
if(line[i+1]=='H')
dizi[1][n]=2;
if(line[i+1]=='D')
dizi[1][n]=3;

}

if(handone>checknumbers(dizi)) {
result++;
}


}
int main() {
clock_t tStart = clock();
int efe=999;
string line;
  ifstream myfile ("poker.txt");
  if (myfile.is_open())
  {
    while ( efe>=0 )
    {
efe--;
      getline (myfile,line);

     make(line);
    }
    myfile.close();
  }

  else cout << "Unable to open file";



 cout << "Project Euler - Problem 54(Poker hands)\n";
  cout << "Result :" << result << " efekanpulatli.blogspot.com" << endl;
    printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
 system("pause");
return 0;
}

28 Mart 2013 Perşembe

Thirty second solution pf Project Euler - Pandigital products







#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <time.h>
using namespace std;





void make() {
int c,d,result=0,ch=0;
int control[20];
for(int i=1;i<2000;i++) {
for(int k=1;k<2000;k++){
if(i*k>9876) {
break;
}
int numbers[9]={1,2,3,4,5,6,7,8,9};
c=i;
bool efe=1,p=1;
do {

d=c%10;
if(d==0) {
efe=0;
break;
}
int counter=0;
for(int m=0;m<9;m++) {                     //check for same number
if(numbers[m] == d) {
counter++;
numbers[m] = 0;
}

}
if(counter ==0 ) {

efe=0;
break;
}
c/=10;
}while(c>0);
if(efe==0) {
continue;
}
c=k;
do {
d=c%10;
if(d==0) {
efe=0;
break;

}
int counter=0;
for(int m=0;m<9;m++) {
if(numbers[m] == d) {
counter++;
numbers[m] = 0;

}

}
if(counter ==0 ) {
efe=0;
break;
}
c/=10;
}while(c>0);
if(efe==0) {
continue;
}
c=i*k;
do {

d=c%10;
if(d==0) {
efe=0;
break;

}
int counter=0;
for(int m=0;m<9;m++) {
if(numbers[m] == d) {
counter++;
numbers[m] = 0;
}

}
if(counter ==0 ) {
          efe=0;
             break;
}
c/=10;
}while(c>0);
if(efe==0) {
  continue;
}
int res=0;
for(int n=0;n<9;n++) {
res+=numbers[n];
}
if(res==0) {
for(int f=0;f<ch;f++) {
if(control[f] == i*k) {
p=0;
break;

}
}
if(p==1) {
result+=i*k;
control[ch] = i*k;
ch++;
}

}

}
}

cout << "Project Euler - Problem 32(Pandigital products)\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;
}

27 Mart 2013 Çarşamba

Thirty fifth solution pf Project Euler - Circular primes





#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include "efe.h"
#include <time.h>
using namespace std;

bool prime(int y);
int finddigit(int y);
int getpow(int x);
bool circular(int dizi[],int digit);

int getpow(int x) {
 int tot=1;
 if(x==0) {
  return tot;
 }else {
      do {
    tot*=10;
    x--;
   }while(x>0);
    return tot;
 }
}

bool prime(int y) {
 if (y % 2 == 0)
 return false;
 for (int i = 3; i <= (int) sqrt((double) y); i++) {
 if (y % i == 0)
 return false;
 }
 return true;
}

int finddigit(int y) {
int k=0;
do {
 y/=10;
               k++;

}while(y>0);

return k;
}

bool circular(int dizi[],int digit) {
 int digt=digit,c=0,num;
 for(int i=0;i<digit;i++) {
num=0;
c=0;
for(int k=i;k<digt;k++,c++){
num+=dizi[k]*getpow(digit-(c+1));
if(k==digit-1) {
k=-1;
digt = i;

}
 
}
digt = digit+1;
if(!prime(num)) {
return 0;
}

 }

 return 1;
}


void make() {
int c,dizi[6],k=0,result=0;
  for(int i=2;i<1000000;i++) {
 k=finddigit(i)-1;
 c=i;
 do {

 dizi[k] = c % 10;
 c/=10;
               k--;
 }while(c>0);
 if(circular(dizi,finddigit(i))) {
result++;

 }
  }
  cout << "Project Euler - Problem 35(Circular primes)\n";
  cout << "Result :" << result+1 << " 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;
}


Thirty nineth solution of Project Euler - Integer right triangles








#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include "efe.h"
#include <time.h>
using namespace std;
void make() {
int m=0,counter=0,result=0,res=0;
for(int i=1;i<1001;i++) {
counter=0;
for(int k=i-2;k>=0;k--) {
for(int c=1;c<k;c++) {
m=i-(k+c);
if(m<k+c && m>k-c && k*k==(c*c+m*m)) {
counter++;
}
}


}

if(counter > res) {
res=counter;
result = i;
}
}
cout << "Project Euler - Problem 39(Integer right triangles)\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;
}


Thirteenth solution of Project Euler - Large sum



#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include "efe.h"
#include <time.h>
using namespace std;




void make() {
int dizi[1000];
for(int i=0;i<1000;i++) {
dizi[i] = 0;
}
string data[] = { "37107287533902102798797998220837590246510135740250",
"46376937677490009712648124896970078050417018260538",
"74324986199524741059474233309513058123726617309629",
"91942213363574161572522430563301811072406154908250",
"23067588207539346171171980310421047513778063246676",
"89261670696623633820136378418383684178734361726757",
"28112879812849979408065481931592621691275889832738",
"44274228917432520321923589422876796487670272189318",
"47451445736001306439091167216856844588711603153276",
"70386486105843025439939619828917593665686757934951",
"62176457141856560629502157223196586755079324193331",
"64906352462741904929101432445813822663347944758178",
"92575867718337217661963751590579239728245598838407",
"58203565325359399008402633568948830189458628227828",
"80181199384826282014278194139940567587151170094390",
"35398664372827112653829987240784473053190104293586",
"86515506006295864861532075273371959191420517255829",
"71693888707715466499115593487603532921714970056938",
"54370070576826684624621495650076471787294438377604",
"53282654108756828443191190634694037855217779295145",
"36123272525000296071075082563815656710885258350721",
"45876576172410976447339110607218265236877223636045",
"17423706905851860660448207621209813287860733969412",
"81142660418086830619328460811191061556940512689692",
"51934325451728388641918047049293215058642563049483",
"62467221648435076201727918039944693004732956340691",
"15732444386908125794514089057706229429197107928209",
"55037687525678773091862540744969844508330393682126",
"18336384825330154686196124348767681297534375946515",
"80386287592878490201521685554828717201219257766954",
"78182833757993103614740356856449095527097864797581",
"16726320100436897842553539920931837441497806860984",
"48403098129077791799088218795327364475675590848030",
"87086987551392711854517078544161852424320693150332",
"59959406895756536782107074926966537676326235447210",
"69793950679652694742597709739166693763042633987085",
"41052684708299085211399427365734116182760315001271",
"65378607361501080857009149939512557028198746004375",
"35829035317434717326932123578154982629742552737307",
"94953759765105305946966067683156574377167401875275",
"88902802571733229619176668713819931811048770190271",
"25267680276078003013678680992525463401061632866526",
"36270218540497705585629946580636237993140746255962",
"24074486908231174977792365466257246923322810917141",
"91430288197103288597806669760892938638285025333403",
"34413065578016127815921815005561868836468420090470",
"23053081172816430487623791969842487255036638784583",
"11487696932154902810424020138335124462181441773470",
"63783299490636259666498587618221225225512486764533",
"67720186971698544312419572409913959008952310058822",
"95548255300263520781532296796249481641953868218774",
"76085327132285723110424803456124867697064507995236",
"37774242535411291684276865538926205024910326572967",
"23701913275725675285653248258265463092207058596522",
"29798860272258331913126375147341994889534765745501",
"18495701454879288984856827726077713721403798879715",
"38298203783031473527721580348144513491373226651381",
"34829543829199918180278916522431027392251122869539",
"40957953066405232632538044100059654939159879593635",
"29746152185502371307642255121183693803580388584903",
"41698116222072977186158236678424689157993532961922",
"62467957194401269043877107275048102390895523597457",
"23189706772547915061505504953922979530901129967519",
"86188088225875314529584099251203829009407770775672",
"11306739708304724483816533873502340845647058077308",
"82959174767140363198008187129011875491310547126581",
"97623331044818386269515456334926366572897563400500",
"42846280183517070527831839425882145521227251250327",
"55121603546981200581762165212827652751691296897789",
"32238195734329339946437501907836945765883352399886",
"75506164965184775180738168837861091527357929701337",
"62177842752192623401942399639168044983993173312731",
"32924185707147349566916674687634660915035914677504",
"99518671430235219628894890102423325116913619626622",
"73267460800591547471830798392868535206946944540724",
"76841822524674417161514036427982273348055556214818",
"97142617910342598647204516893989422179826088076852",
"87783646182799346313767754307809363333018982642090",
"10848802521674670883215120185883543223812876952786",
"71329612474782464538636993009049310363619763878039",
"62184073572399794223406235393808339651327408011116",
"66627891981488087797941876876144230030984490851411",
"60661826293682836764744779239180335110989069790714",
"85786944089552990653640447425576083659976645795096",
"66024396409905389607120198219976047599490197230297",
"64913982680032973156037120041377903785566085089252",
"16730939319872750275468906903707539413042652315011",
"94809377245048795150954100921645863754710598436791",
"78639167021187492431995700641917969777599028300699",
"15368713711936614952811305876380278410754449733078",
"40789923115535562561142322423255033685442488917353",
"44889911501440648020369068063960672322193204149535",
"41503128880339536053299340368006977710650566631954",
"81234880673210146739058568557934581403627822703280",
"82616570773948327592232845941706525094512325230608",
"22918802058777319719839450180888072429661980811197",
"77158542502016545090413245809786882778948721859617",
"72107838435069186155435662884062257473692284509516",
"20849603980134001723930671666823555245252804609722",
"53503534226472524250874054075591789781264330331690" };
for(int i=0;i<100;i++) {
 string line = data[i];
 for(int k=0;k<50;k++) {
int m=line[49-k]-48;
if((dizi[k]+m) > 9) {
dizi[k] = (dizi[k] + m) % 10;
dizi[k+1]+=1;

}else {
dizi[k]+=m ;
}
 }
}
cout << "Project Euler - Problem 8\n";
  cout << "Result :" ;
for(int k=50;k>41;k--) {
cout << dizi[k] ;
}
cout << " 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;
}


Eighth solution of Project Euler







#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <string>
#include "efe.h"
#include <stdlib.h>
using namespace std;
void tab() {
string efe="7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";
int dizi[1000],result=0;
for(int p=0;p<1000;p++) {
dizi[p] = 1;
}
for(int i=0;i<996;i++) {
for(int k=i,d=0;k<i+5;k++,d++) {
int m=efe[k]-48;
dizi[i]*=m;
}
}

for(int i=0;i<996;i++) {
if(dizi[i]>result) {

result = dizi[i];

}

}
cout << "Project Euler - Problem 8\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;
}


24 Mart 2013 Pazar

Thirty sixth solution of Project Euler







#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;
}

22 Mart 2013 Cuma

Fourty fourth solution of Project Euler






#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include <time.h>
using namespace std;
bool check(int x[],int y,int z);
bool check(int x[],int y,int z) {
int k=0;

bool ch=false;
for(int i=2;i<4000;i++) {
if(x[i]==(y+z)) {
           ch=true;
  break;
}
}
if(ch==true) {
for(int i=2;i<4000;i++) {
if(x[i]==(y-z)) {
return true;
}
}
}else {
return false; }
}

void make() {
 int dizi[4000],k=1;
 for(;k<4000;k++) {
dizi[k] = (k*((3*k)-1)) / 2;
 }
 for(int i=1;i<4000;i++) {
for(k=i+1;k<4000;k++) {
         if(check(dizi,dizi[k],dizi[i])==true) {
 cout << "Project Euler - Problem 44\n";
              cout << "Result :" << dizi[k]-dizi[i] << " efekanpulatli.blogspot.com" << endl;
i=4000;
break;
}
}
 }

}
int main() {
  clock_t tStart = clock();
    make();
    printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
 system("pause");
return 0;
}

Fiftieth solution of Project Euler



#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include <time.h>
using namespace std;

bool prime(int y);

bool prime(int y) {
 if (y % 2 == 0)
 return false;
 for (int i = 3; i <= (int) sqrt((double) y); i++) {
 if (y % i == 0)
 return false;
 }
 return true;
}
void make() {
int dizi[100000],i,k=1,count=0,res=0,result;
dizi[0]=2;
unsigned long long tot=0;
for(i=3;i<1000000;i++) {

if(prime(i) == true) {
dizi[k] = i;
tot+=i;
k++;
}
}
for(int i=k;i>=0;i--) {
int m=0;

tot=dizi[i];
for(m=0;m<i;m++) {
count=1;
for(int c=i-1;c>=m;--c) {
if((tot+dizi[c]) > 1000000) {
break;
}else {
tot+=dizi[c];
count++;
if(prime(tot) == true) {
if(count>res) {
result=tot;
res=count;
}
}
}
}
}
}
cout << "Project Euler - Problem 50\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;
}

Thirty seventh solution of Project Euler





#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include<conio.h>
#include<math.h>
using namespace std;

bool check(int x[],int y);
bool prime(int y);
int create(int y);

bool prime(int y) {
if(y==1 || y == 0 ) {
return false;
}else if(y==2) {
return true;
}
 if (y % 2 == 0)
 return false;
 for (long int i = 3; i <= (long int) sqrt((double) y); i++) {
 if (y % i == 0)
 return false;
 }
 return true;
}

int create(int y) {
int tot=1;
for(int i=0;i<y;i++) {
tot*=10;

}
return tot;
}

bool check(int x[],int y) {
int tot=0,c=0;
for(int i=0;i<y;i++) {
tot=0;
for(int k=0;k<=i;k++) {
tot+=(x[k])*(create(k));
}

if(prime(tot)==false) {
c++;
return false;
}
}
y--;
if(c==0) {
for(int i=0;i<=y;i++) {
tot=0;
int h=i;
for(int k=0;k<=i;k++,h--) {
tot+=(x[y-k])*(create(h));
}
if(prime(tot)==false) {
c++;
return false;
}

}
}
if(c==0) {
return true;
}
}

void make() {
int c,k,ch=0,result=0;
for(unsigned int i=11;i<1000000;i++) {
int * dizi = new int[10];
k=0;
c=i;
do {
dizi[k]=c%10;
c/=10;
k++;
}while(c>0);
if(prime(i)==true) {
if(check(dizi,k)==true) {
ch++;
result+=i;
cout << i << ",";
if(ch==11) {
cout << "\nProject Euler - Problem 37\n";
cout << "Result :" << result << " efekanpulatli.blogspot.com" << endl;
break;
}
}
}
}
}

int main() {
make();
system("pause");
return 0;
}

20 Mart 2013 Çarşamba

Thirth solution of Project Euler






#include "stdafx.h"
#include <iostream>
using namespace std;

int getpow(int i) {
i=i*i*i*i*i;
return i;
}


int check(int dizi[],int i) {
int tot=0;
for(int k=0;k<6;k++) {
if(dizi[k]!=NULL) {
tot+=getpow(dizi[k]);
}
}
if(tot==i) {
return i;
}else {
return 0;
}
}



void make() {
 int result=0;
for(int i=2;i<1000000;i++) {
int * dizi = new int[6],c,k=5;
c=i;
do {
dizi[k]=c%10;
c/=10;
             k--;
}while(k>=0);
result+=check(dizi,i);
}
  cout << "Problem:30\nResult :" << result  << " efekanpulatli.blogspot.com " << endl;
}

int main()
{
make();
   system("pause");
   return 0;
}
 

Fourty fifth solution of Project Euler




                                                 


#include "stdafx.h"
#include <iostream>

using namespace std;

void make() {
 unsigned long tri,penta,hexa;
 bool result=false;
 do {
 for(unsigned long i=0;i<60000;i++) {
  tri = (i*(i+1))/2;
  for(unsigned long k=0;k<i;k++) {
   penta=(k*((3*k)-1))/2;
   if(tri==penta) {
    for(unsigned long l=0;l<k;l++) {
     hexa=l*((2*l)-1);
     if(penta==hexa) {
      result=true;
      if(tri>40775) {
      cout << "Problem:45\nResult :" << tri  << " efekanpulatli.blogspot.com " << endl;
      }
      break;
     }else {
      continue;
     }
    }
   }else {
    continue;
   }
  }
 }
 }while(!result);

}

int main()
{
make();
   system("pause");
   return 0;
}
 

Thirty fourth solution of Project Euler








#include "stdafx.h"
#include <iostream>
using namespace std;
int fakt(int x) {
unsigned long tot=1;
for(;x>0;x--) {
tot*=x;
}
return tot;
};

bool check(int x[],int k,unsigned long y) {
int tot=0,c=0;
do {
tot+=fakt(x[k]);
k--;
}while(k>=0);
if(tot==y) {
return true;
}else {
return false;
}
}



void make() {
int result =0;
for(unsigned long i=10;i<100000;i++) {
int * dizi = new int[15];
int k=0,c=i;
do {
dizi[k] = c % 10;
c/=10;
k++;
}while(c>0);
if(check(dizi,k-1,i)==true) {
result+=i;
cout << i << endl;
}
}
cout << "Result :" << result << " efekanpulatli.blogspot.com" << endl;
}






int main()    {


make();
system("pause");
return 0;
}

19 Mart 2013 Salı

Array to Number && Number to Array




#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
void mainn();
int getpow(int x);
int finddigit(int x);
void numbertoarray(int y);
void arraytonumber(int z[],int size);

void mainn() {            
int a;
 cout << "Enter number:";
 cin >> a;
 numbertoarray(a);
}
int finddigit(int x) {          // to find digit of number
int count=0;
    while(x>1) {
x/=10;
count++;
}
return count;
}
void numbertoarray(int y) {
int size=finddigit(y);
int * seq = new int[finddigit(y)];
int p=finddigit(y)-1;
while(y > 1) {
seq[p] = y % 10;
y/=10;
p--;
}          //now,numbers are inside the seq
cout << "State of number which is inside the array :" << endl;
for(int i=0;i<=(size-1);i++) {
cout << seq[i] << " ";
}
cout << "\n";
arraytonumber(seq,size-1);    //let replace the numbers from array to integral
}

void arraytonumber(int z[],int size) {
int tot=0,i=0;
for(;i<=size;i++) {
tot+=(z[i] * getpow(size-i));
}
cout << "Let's remake it" << endl;
cout << tot;
cout << "\n";
}


int getpow(int x) {
int tot=1;
if(x==0) {
return tot;
}else {
      do {
 tot*=10;
 x--;
 }while(x>0);
  return tot;
}
}

18 Mart 2013 Pazartesi

Guessing game (Challange Program)

Click picture and see more large


---------------------------------------------------efe.h-----------------------------------------------------


#include "stdafx.h"
#include <iostream>
using namespace std;
void process(int min,int max,int tryy);
void lastscreen(int tryy,int tot,int min,int med,bool e);
void screen() {
int min,max,tryy;
cout << "Choose space by entering two numbers(firstly min and then max)" << endl;
cin >> min >> max;
cout << "Hmm your numbers are between " << min << " and " << max << "." << endl;
cout << "Okey,Lets make bet.What is your bet? How many try can I find your number?" << endl;
cin >> tryy;
process(min,max,tryy);
}
void process(int min,int max,int tryy) {
char ans;
int med=(min + max) / 2,tot=0,c;
cout << "Your number is between " << min << " and " << med << " ?\n";
cin >> ans;
bool result=false;


do {
     if(ans=='y') {
if((med-min) == 2) {
 lastscreen(tryy,tot,min,med,true);
 result=true;
 break;
}
tot++;
max=med;
med=(min + max) / 2;
c=med-1;
if(c==min) {   //c never equal min
c+=1;
}
 if((med-min)==1) {
 do {
 
cout << "Is correct answer " << c << " ?" << endl;
cin >> ans;
tot++;
if(ans=='y') {
lastscreen(tryy,tot,c,c,true);
 result=true;
 break;
}
c++;
 }while(result==false);
}
 if(result==false) {
cout << "Your number is between " << min << " and " << med << " ?\n";
cin >> ans;
 }
}else if(ans=='n') {
tot++;
min=med;
med=(min + max) / 2;

 c=min-1;
 if((med-min)==1) {
 do {
  c++;
cout << "Is correct answer " << c << " ?" << endl;
cin >> ans;
tot++;
if(ans=='y') {
lastscreen(tryy,tot,c,c,true);
 result=true;
 break;
}
 }while(result==false);
}
if(result==false) {
 cout << "Your number is between 1111111" << min << " and " << med << " ?\n";
cin >> ans;
  }
}

}while(result==false);

}
void lastscreen(int tryy,int tot,int min,int med,bool e) {
if(tryy<tot) {
cout << "Ahh,You are winner" << endl;
cout << "Answer is " << med << ".I solved it by trying " << tot << " times." << endl;    //answer is med or min it doesn't matter now.
cout << "By the way,You can visit efekanpulatli.blogspot.com" << endl;
}else if(tryy==tot) {
        cout << "What a coincidence,No one is winner!.We are equal.\n";
cout << "Answer is " << med << ".I solved it by trying " << tot << " times."  << endl;          //answer is med or min it doesn't matter now.
cout << "By the way,You can visit you efekanpulatli.blogspot.com" << endl;
}else if(tryy>tot) {
cout << "Ha ha ha get out now!I am the winner!\n";
cout << "Answer is " << med << ".I solved it by trying " << tot << " times."  << endl; //answer is med or min it doesn't matter now.
cout << "By the way,You can visit efekanpulatli.blogspot.com" << endl;
}
}








------------------------------------------------main---------------------------------------------------------





#include "stdafx.h"
#include <iostream>
#include "efe.h"


using namespace std;

int main() {
char anss;
do {
cout << "Hey,Do you wanna play guessing game? y/n" << endl;
cin >> anss;
if(anss == 'n') {
exit (1);
}
}while(anss != 'y') ;
char app='y';
do {
screen();
cout << "\n\nDo you wanna play again? y/n";
cin >> app;
if(app=='y') {
system("cls");
}else {
exit (1);
}
}while(app=='y');
    system("pause");
return 0;
}