aaahollyaa
Kilopat
- Katılım
- 25 Şubat 2018
- Mesajlar
- 280
- Çözümler
- 2
Daha fazla
- Cinsiyet
- Erkek
İyi günler, Project Euler'daki 4. problem için aşağıda da verdiğim gibi bir kod yazdım ama maalesef çalıştırdığımda bir sonuç alamıyorum. Amacımız 3 basamaklı 2 sayının çarpımıyla oluşturulabilecek en büyük palindrom (baştan ve sondan okunuşu aynı olan) sayıyı bulmak. Yanlış yaptığım yeri söyler misiniz? Teşekkürler.
projecteuler.net
Problem 4 - Project Euler
A website dedicated to the fascinating world of mathematics and programming
C:
#include<stdio.h>
#include<stdlib.h>
int palindrommu(int n){
int evetoyle=1;
int basamaksayisi=0;
int temp=n;
for(;temp>0;){
temp/=10;
basamaksayisi++;
}
int* arr;
arr=(int*)malloc(sizeof(int)*basamaksayisi);
for(int i=0;n>=0;i++){
*(arr+i)=n%10;
n/=10;
}
for(int i=0,j=basamaksayisi-1;i<j;i++,j--){
if(arr[i]!=arr[j]){
evetoyle=0;
}
}
free(arr);
return evetoyle;
}
int main(){
int enbuyuk=0;
int p=999,q=999;
for(;p>100;p--){
for(;q>100;q--){
if(palindrommu(p*q)){
enbuyuk=p*q;
break;
}
}
}
printf("%d",enbuyuk);
return 0;
}
Son düzenleme: