Răspuns :
Ca programul sa fie eficient cu atatea numere trebuie sa ai grija sa nu incarci in memorie elemente de care nu ai nevoie adica sa-ti iei doar informatiile necesare de pe Hard Disk si dupa flosire sa le eliberezi imediat.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream fi("numere.in");
ofstream fo("numere.out");
bool Palindrom(unsigned long nr);
int main() {
unsigned long max = 0,temp,count=0;
//Start of search
while (!fi.eof()) {
fi >> temp;
if (Palindrom(temp)) {
if (temp > max) {
max = temp; count = 1;
}else if(temp==max) {
count++;
}
}
}
//End of search : 0.052 seconds for 10000 numbers in the range 1000-10000000
fo << max << endl<< count;
return 0;
}
bool Palindrom(unsigned long nr) {
unsigned long r_nr=0,temp=nr;
while (temp) {
r_nr *= 10;
r_nr += temp % 10;
temp /= 10;
}
return (r_nr == nr ? 1:0);
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream fi("numere.in");
ofstream fo("numere.out");
bool Palindrom(unsigned long nr);
int main() {
unsigned long max = 0,temp,count=0;
//Start of search
while (!fi.eof()) {
fi >> temp;
if (Palindrom(temp)) {
if (temp > max) {
max = temp; count = 1;
}else if(temp==max) {
count++;
}
}
}
//End of search : 0.052 seconds for 10000 numbers in the range 1000-10000000
fo << max << endl<< count;
return 0;
}
bool Palindrom(unsigned long nr) {
unsigned long r_nr=0,temp=nr;
while (temp) {
r_nr *= 10;
r_nr += temp % 10;
temp /= 10;
}
return (r_nr == nr ? 1:0);
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!