Untitled
unknown
plain_text
a year ago
1.4 kB
3
Indexable
#include <iostream> #include <cmath> bool isPerfectSquare(int num) { int sqrtNum = sqrt(num); return sqrtNum * sqrtNum == num; } bool isPalindrome(int num) { int reversedNum = 0; int originalNum = num; while (num > 0) { reversedNum = reversedNum * 10 + num % 10; num /= 10; } return originalNum == reversedNum; } bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i <= sqrt(num); ++i) { if (num % i == 0) { return false; } } return true; } int countDigits(int num) { int count = 0; while (num > 0) { num /= 10; ++count; } return count; } int main() { int M; std::cout << "Nhap so nguyen duong M: "; std::cin >> M; int digitCount = countDigits(M); bool isPerfectSquareNumber = isPerfectSquare(M); bool isPalindromeNumber = isPalindrome(M); bool isPrimeNumber = isPrime(M); std::cout << "So " << M << " co " << digitCount << " chu so." << std::endl; std::cout << "La so chinh phuong: " << (isPerfectSquareNumber ? "Co" : "Khong") << std::endl; std::cout << "La so doi xung: " << (isPalindromeNumber ? "Co" : "Khong") << std::endl; std::cout << "La so nguyen to: " << (isPrimeNumber ? "Co" : "Khong") << std::endl; return 0; }
Editor is loading...