Sunteți pe pagina 1din 6

1.

Din fișierul numere.in se citesc n (1<=n<=1000) numere naturale.


Afișați în fișierul numere.out numerele din fișierul de intrare care au cifra de control impara.

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream fin ("numere.in");
ofstream fout ("numere.out");

int n, x, cx, c;
fin >> n;
for (int i = 1; i<=n; i++) {fin >> x;
cx = x;
if (x%9!=0) c = x%9;
else c = 9;
if (c%2==1) fout << cx << " ";
}
fin.close ();
fout.close ();
return 0;
}
2.
Cerința
Se citesc pe rând numere naturale nenule. Să se determine câte din numerele citite sunt
termeni ai șirului lui Fibonacci.
Date de intrare
Fișierul de intrare cautafibo.in conține numere naturale nenule, separate prin spații.
Date de ieșire
Fișierul de ieșire cautafibo.out va conține o singură valoare, reprezentând numărul
termenilor Fibonacci care se regăsesc în fișierul de intrare.
Restricții și precizări
 numerele din fișierul de intrare vor avea cel mult 10 cifre
 fișierul de intrare va conține cel mult 100.000 de numere naturale nenule

Exemplu
cautafibo.in
5 10 89 1 7 9 8 1 6 55 19 13 55
cautafibo.out
8
Explicație
Numerele Fibonacci din fișierul de intrare sunt: 5 89 1 8 1 55 13 55

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream fin ("cautafibo.in");
ofstream fout ("cautafibo.out");
int x, f1, f2, f3, ct = 0;
while (fin >> x) {f1 = 0; f2 = 1;
do {f3 = f1 + f2; f1 = f2; f2 = f3;} while (f3 < x);
if (f3==x) ct++;}
fout << ct;
fin.close ();
fout.close ();
return 0;
}

3.
Din fișierul numere.in se citesc numere naturale.
Afișați în fișierul numere.out numerele din fișierul de intrare care au exact 3 factori primi.

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream fin ("numere.in");
ofstream fout ("numere.out");

int n, x, cx, c;
fin >> n;
for (int i = 1; i<=n; i++) {fin >> x;
cx = x;
if (x%9!=0) c = x%9;
else c = 9;
if (c%2==1) fout << cx << " ";
}
fin.close ();
fout.close ();
return 0;
}

4.
Din fișierul numere.in se citesc numere naturale.
Afișați pe ecran cele mai mari două numere prime.

#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("numere.in");

int main()
{
int x, mx1 = 0, mx2 = 0, ok;
while (fin>>x) {ok = 1;
if (x<2 || x>2 && x%2==0) ok = 0;
for (int d = 3; d*d<=x && ok==1; d+=2) if (x%d==0) ok = 0;
if (ok==1 && x>mx1) {mx2 = mx1; mx1 = x;}}

cout << mx1 << " " << mx2;


fin.close ();
return 0;
}
5.
Din fișierul numere.in se citesc numere naturale.
Afișați în fișierul numere.out cmmdc al numerelor din fișierul de intrare.

#include <iostream>
#inlude <fstream>
using namespace std;

ifstream fin ("numere.in");


ofstream fout ("numere.out");

int main()
{
int x, y, r;
fin >> x;
while (fin>>y) {while (y!=0) {r = x%y; x = y; y = r;}}
fout << x;
fin.close ();
fout.close ();
}
6.
Din fișierul numere.in se citesc numere naturale.
Afișați, în fișierul numere.out , numărul care se formează cu cifra maximă a fiecărui număr
din fișierul de intrare.

numere.in
123 45 674 9 554 7 100
numere.out
3579571

#include <iostream>
#inlude <fstream>
using namespace std;

ifstream fin ("numere.in");


ofstream fout ("numere.out");

int main()
{
int x, y, r;
fin >> x;
while (fin>>y) {while (y!=0) {r = x%y; x = y; y = r;}}
fout << x;
fin.close ();
fout.close ();
}

7.
Din fișierul numere.in se citesc numere naturale.
Afișați în fișierul numere.out cel mai mic și cel mai mare număr din fișierul de intrare.
Fiecare număr va fi afișat pe o linie a fișierului de ieșire și va fi urmat de divizorii săi, afișați în
pereche.

#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("numere.in");
ofstream fout ("numere.in");

int main()
{
int x, mx, mn, d;
fin >> x;
mx = x;
mn = x;
while (fin >> x) {if (x>mx) mx = x;
if (x<mn) mn = x;}
fout << mx << " ";
for (d = 1; d*d<=mx; d++) {if (mx%d==0) {if (d*d==mx) cout << d << " ";
else cout << d << " " << mx/d << " ";}}
fout << endl << mn;
for (d = 1; d*d<=mn; d++) {if (mn%d==0) {if (d*d==mn) cout << d << " ";
else cout << d << " " << mn/d << " ";}}

fin.close ();
fout.close ();

return 0;
}
8.
Din fișierul numere.in se citesc numere naturale.
Afișați, în fișierul numere.out , fiecare număr din fișierul de intrare fără cifrele pare.

numere.in
123 45 674 9 554 7 100 8
numere.out
13 5 7 9 55 7 1 0

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream fin ("numere.in");
ofstream fout ("numere.out");
int x, nr, p, c;
while (fin >> x) {nr = 0; p = 1;
while (x>0) {c = x%10;
if (c%2!=0) {nr = nr + c*p;
p = p*10;}
x/=10;
}
fout << nr << " ";}
fin.close ();
fout.close ();
return 0;

S-ar putea să vă placă și