Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Semrush - keyword research tool

Linux Foundation Training and Certification

Teach Your Child To Read

Disclosure: My content contains affiliate links.

32,309 questions

42,484 answers

573 users

How to check whether a number is a perfect cube root in C++

1 Answer

0 votes
// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3

#include <iostream>
#include <string>
#include <cmath>

bool isPerfectCubeRoot(int x) {
	x = std::abs(x);

	int cubeRoot = static_cast<int>(std::round(std::pow(x, 1.0 / 3.0)));

	return std::pow(cubeRoot, 3) == x;
}

int main() {
	std::wcout << isPerfectCubeRoot(16) << std::endl;
	std::wcout << isPerfectCubeRoot(64) << std::endl;
	std::wcout << isPerfectCubeRoot(27) << std::endl;
	std::wcout << isPerfectCubeRoot(25) << std::endl;
	std::wcout << isPerfectCubeRoot(-64) << std::endl;
	std::wcout << isPerfectCubeRoot(-27) << std::endl;
	std::wcout << isPerfectCubeRoot(729) << std::endl;
}


   
/*
run:
   
0
1
1
0
1
1
1

*/

 



Learn & Practice Python
with the most comprehensive set of 13 hands-on online Python courses
Start now


answered Sep 1 by avibootz
...