Java로 구현하였습니다.
```
import java.util.Scanner;
public class GiftIsWhat {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] parsedData = str.split(" ");
int a = Integer.parseInt(parsedData[0]);
int b = Integer.parseInt(parsedData[1]);
int temp1 = 0;
for (int i = a + 1; i <= b; i++) {
int temp2 = (int)Math.sqrt(i);
if (i == temp2 * temp2)
temp1++;
}
if (temp1 == 0)
System.out.println("0");
else {
int temp4 = gcd (b - a, temp1);
temp1 = temp1 / temp4;
int temp3 = (b - a) / temp4;
System.out.println(String.valueOf(temp1) + "/" + String.valueOf(temp3));
}
}
public static int gcd(int p, int q) {
if (q == 0) return p;
return gcd(q, p % q);
}
}
```
gcd() 함수 참고 : [https://ko.wikipedia.org/wiki/유클리드_호제법](https://ko.wikipedia.org/wiki/유클리드_호제법)
좀 느려터진 방법 같기도 합니다.
Java로 구현하였습니다.
```
import java.util.Scanner;
public class GiftIsWhat {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] parsedData = str.split(" ");
int a = Integer.parseInt(parsedData[0]);
int b = Integer.parseInt(parsedData[1]);
int temp1 = 0;
for (int i = a + 1; i <= b; i++) {
int temp2 = (int)Math.sqrt(i);
if (i == temp2 * temp2)
temp1++;
}
if (temp1 == 0)
System.out.println("0");
else {
int temp4 = gcd (b - a, temp1);
temp1 = temp1 / temp4;
int temp3 = (b - a) / temp4;
System.out.println(String.valueOf(temp1) + "/" + String.valueOf(temp3));
}
}
public static int gcd(int p, int q) {
if (q == 0) return p;
return gcd(q, p % q);
}
}
```
gcd() 함수 참고 : [https://ko.wikipedia.org/wiki/유클리드_호제법](https://ko.wikipedia.org/wiki/유클리드_호제법)
좀 느려터진 방법 같기도 합니다.