Java Datatypes - HackerRank Solution
Java has 8 primitive data types; char, boolean, byte, short, int, long,
float, and double. For this exercise, we'll work with the primitives used to
hold integer values (byte, short, int, and long):
• A byte is an 8-bit signed integer.
• A short is a 16-bit signed integer.
• An int is a 32-bit signed Integer.
• A long is a 64-bit signed integer.
Given an input integer, you must determine which primitive data types are capable of properly storing that input. To get you started, a portion of the solution is provided for you in the editor.
Reference: here
• A byte is an 8-bit signed integer.
• A short is a 16-bit signed integer.
• An int is a 32-bit signed Integer.
• A long is a 64-bit signed integer.
Given an input integer, you must determine which primitive data types are capable of properly storing that input. To get you started, a portion of the solution is provided for you in the editor.
Reference: here
Input Format :-
The first line contains an integer, T, denoting the number of test cases. Each
test case, T, is comprised of a single line with an integer, n, which can be
arbitrarily large or small.
Output Format :-
For each input variable n and appropriate primitive dataType, you must determine
if the given primitives are capable of
storing it. If yes, then print:
storing it. If yes, then print:
n can be fitted in: * dataType
byte < short < int < long).
If the number cannot be stored in one of the four aforementioned primitives, print the line:
n can't be fitted anywhere.
Sample Input :-
5 -150 150000 1500000000 213333333333333333333333333333333333 -100000000000000
Sample Output :-
-150 can be fitted in: * short * int * long 150000 can be fitted in: * int * long 1500000000 can be fitted in: * int * long 213333333333333333333333333333333333 can't be fitted anywhere. -100000000000000 can be fitted in: * long
Explanation :-
- 150 can be stored in a short, an int, or a long.
213333333333333333333333333333333333 is very large and is outside of the allowable range of values for the primitive data types discussed in this problem.
213333333333333333333333333333333333 is very large and is outside of the allowable range of values for the primitive data types discussed in this problem.
Solution :
Solution 1 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
// Java Datatypes - HackerRank Solution import java.util.*; import java.io.*; class Solution{ public static void main(String []argh) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); for(int i=0;i<t;i++) { try { long x = sc.nextLong(); // Java Datatypes - HackerRank Solution START System.out.println(x+" can be fitted in:"); if(x>=-128 && x<=127) { System.out.println("* byte"); } if(x>=-32768 && x<=32767) { System.out.println("* short"); } if(x>=-2147483648 && x<=2147483647) { System.out.println("* int"); } System.out.println("* long"); // Java Datatypes - HackerRank Solution END } catch(Exception e) { System.out.println(sc.next()+" can't be fitted anywhere."); } } } } |
Solution 2 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
// Java Datatypes - HackerRank Solution import java.util.*; import java.io.*; class Solution{ public static void main(String []argh) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); for(int i=0;i<t;i++) { try { long x = sc.nextLong(); System.out.println(x+" can be fitted in:"); // Java Datatypes - HackerRank Solution START if(x>=(Byte.MIN_VALUE) && x<=Byte.MAX_VALUE) { System.out.println("* byte"); } if(x>=(Short.MIN_VALUE) && x<=Short.MAX_VALUE) { System.out.println("* short"); } if(x>=(Integer.MIN_VALUE) && x<=Integer.MAX_VALUE) { System.out.println("* int"); } if(x>=(Long.MIN_VALUE) && x<=Long.MAX_VALUE) { System.out.println("* long"); } // Java Datatypes - HackerRank Solution END } catch(Exception e) { System.out.println(sc.next()+" can't be fitted anywhere."); } } } } |
Solution 3 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
// Java Datatypes - HackerRank Solution import java.util.*; import java.io.*; //Java Datatypes - HackerRank Solution solution you must declare the following package import java.math.BigInteger; class Solution{ public static void main(String []argh) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); for(int i=0;i<t;i++) { try { long x = sc.nextLong(); BigInteger b = BigInteger.valueOf(x); System.out.println(x+" can be fitted in:"); // Java Datatypes - HackerRank Solution START if(b.longValue()>=-128 && x<=127) { System.out.println("* byte"); } if(b.longValue()>=-(Math.pow(2,15)) && b.longValue()<=(Math.pow(2,15)-1)) { System.out.println("* short"); } if(b.longValue()>=-(Math.pow(2,31)) && b.longValue()<=Math.pow(2,31)-1) { System.out.println("* int"); } if(b.longValue()>=-(Math.pow(2,63)) && b.longValue()<=Math.pow(2,63)-1) { System.out.println("* long"); } // Java Datatypes - HackerRank Solution END } catch(Exception e) { System.out.println(sc.next()+" can't be fitted anywhere."); } } } } |
Disclaimer :-
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.