Cerința
Se dau n
numere naturale. Afișați tipul de date C++ minim ca număr de octeți permite memorarea fiecărui număr. Dacă un număr încape și în tipul cu semn și în tipul fără semn, se afișează tipul cu semn.
Date de intrare
Fișierul de intrare limite.in
conține numărul n
, iar apoi n
numere naturale, separate prin spații.
Date de ieșire
Fișierul de ieșire limite.out
va conține n
șiruri de caractere, pe n
rânduri, reprezentând tipurile de date cerute, dintre char
, unsigned char
, short
, unsigned short
, int
, unsigned int
, long long
, unsigned long long
.
Restricții și precizări
1 ≤ n ≤ 10000
- cele
n
numere citite vor fi mai mici sau egale cu18446744073709551615
Exemplu
limite.in
5 10 18446744073709551615 32767 127 65535
limite.out
char unsigned long long short char unsigned short
#include <bits/stdc++.h> using namespace std; ifstream cin("limite.in"); ofstream cout("limite.out"); int main() { int n; unsigned long long x; cin >> n; for(int i = 1 ; i <= n ; i++) { cin >> x; if(x <= 127) cout << "char" << endl; else if(x <= 255) cout << "unsigned char" << endl; else if(x <= 32767) cout << "short" << endl; else if(x <= 65535) cout << "unsigned short" << endl; else if(x <= 2147483647) cout << "int" << endl; else if(x <= 4294967295) cout << "unsigned int" << endl; else if(x <= 9223372036854775807) cout << "long long" << endl; else if(x <= 18446744073709551615) cout << "unsigned long long" << endl; } return 0; }