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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!