import java.util.Scanner;
public class theatre_square
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
long m = in.nextLong(), n = in.nextLong(), s = in.nextLong();
theatre_square ob = new theatre_square();
long x = ob.cal(m,s), y = ob.cal(n,s);
System.out.println(x*y);
}
long cal(long a, long b)
{
if(a<=0)
return(0);
else
return (1+cal(a-b,b));
}
}
Input: 1000000000 1000000000 1
Error:
Exception in thread "main" java.lang.StackOverflowError at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17) at theatre_square.cal(theatre_square.java:17)....... and so on.
I think it has to do something with the return statement inside in the recursion function.