HackerRank Smart Number 2 problem solution YASH PAL, 31 July 2024 In this HackerRank Smart Number 2 problem solution, the task is to debug the existing code to successfully execute all provided test files. A number is called a smart number if it has an odd number of factors. Given some numbers, find whether they are smart numbers or not. Debug the given function is_smart_number to correctly check if a given number is a smart number. Problem solution in Python. import math def is_smart_number(num): val = int(math.sqrt(num)) if val ** 2 == num: return True return False for _ in range(int(input())): num = int(input()) ans = is_smart_number(num) if ans: print("YES") else: print("NO") Problem solution in Java. import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static boolean isSmartNumber(int num) { int val = (int) Math.sqrt(num); if(Math.pow(val, 2) == num) return true; return false; } public static void main(String[] args) { int test_cases; Scanner in = new Scanner(System.in); test_cases = in.nextInt(); int num; for(int i = 0; i < test_cases; i++){ num = in.nextInt(); boolean ans = isSmartNumber(num); if(ans){ System.out.println("YES"); } else System.out.println("NO"); } } } Problem solution in C++. #include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; bool is_smart_number(int num) { int val = (int) sqrt(num); if(val - (int)sqrt(num-1)!= 0) return true; return false; } int main() { int test_cases; cin >> test_cases; int num; for(int i = 0; i < test_cases; i++) { cin >> num; bool ans = is_smart_number(num); if(ans) { cout << "YES" << endl; } else cout << "NO" << endl; } return 0; } coding problems interview prepration kit