Como encontrar o número de quadrados perfeitos entre dois números com programação

A programação é uma forma de instruir o computador a realizar várias tarefas. Você pode resolver uma variedade de problemas usando programação, incluindo uma grande variedade de problemas matemáticos. Neste artigo, você aprenderá como encontrar o número total de quadrados perfeitos entre dois números usando C ++, Python e JavaScript.

Declaração do Problema

Você recebe dois números num1 e num2 . Você precisa encontrar o número total de quadrados perfeitos entre num1 e num2 .

Exemplo 1 : Seja num1 = 10 e num2 = 100.

Quadrados perfeitos entre 10 e 100: 16, 25, 36, 49, 64, 81, 100.

Portanto, a saída é 7.

Exemplo 2 : Seja num1 = 15 e num2 = 82.

Quadrados perfeitos entre 15 e 82: 16, 25, 36, 49, 64, 81.

Portanto, a saída é 6.

Exemplo 3 : Seja num1 = 3 e num2 = 36.

Quadrados perfeitos entre 3 e 36: 4, 9, 16, 25, 36.

Portanto, a saída é 5.

Abordagem básica para encontrar o número total de quadrados perfeitos entre dois números

Programa C ++ para contar o número total de quadrados perfeitos entre dois números

Abaixo está a implementação C ++ para resolver o problema:

 // C++ program to count the total number of
// perfect squares between 2 numbers
#include <iostream>
using namespace std;
int countTotalSquares(int num1, int num2)
{
int result = 0;
for(int i=num1; i<=num2; i++)
{
for(int j=1; j*j<=i; j++)
{
if(j*j == i)
{
result++;
}
}
}
return result;
}
int main()
{
int num1 = 10;
int num2 = 100;
cout << "Total number of perfect squares between " << num1 << " and " << num2 << ": " << countTotalSquares(num1, num2) << endl;
int num3 = 15;
int num4 = 82;
cout << "Total number of perfect squares between " << num3 << " and " << num4 << ": " << countTotalSquares(num3, num4) << endl;
int num5 = 3;
int num6 = 36;
cout << "Total number of perfect squares between " << num5 << " and " << num6 << ": " << countTotalSquares(num5, num6) << endl;
int num7 = 12;
int num8 = 65;
cout << "Total number of perfect squares between " << num7 << " and " << num8 << ": " << countTotalSquares(num7, num8) << endl;
return 0;
}

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Relacionado: Como calcular o valor de nPr usando funções

Programa Python para contar o número total de quadrados perfeitos entre dois números

A seguir, o código Python para encontrar o número total de quadrados perfeitos entre dois números:

 # Python program to count the total number of
# perfect squares between 2 numbers
def countTotalSquares(num1, num2):
result = 0
for i in range(num1, num2+1):
j = 1
while j * j <= i:
if j * j == i:
result = result + 1
j = j + 1
return result
num1 = 10
num2 = 100
print("Total number of perfect squares between", num1, "and", num2, ":", countTotalSquares(num1, num2))
num3 = 15
num4 = 82
print("Total number of perfect squares between", num3, "and", num4, ":", countTotalSquares(num3, num4))
num5 = 3
num6 = 36
print("Total number of perfect squares between", num5, "and", num6, ":", countTotalSquares(num5, num6))
num7 = 12
num8 = 65
print("Total number of perfect squares between", num7, "and", num8, ":", countTotalSquares(num7, num8))

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Programa JavaScript para contar o número total de quadrados perfeitos entre dois números

Veja como você encontra o número total de quadrados perfeitos entre dois números em JavaScript:

 // JavaScript program to count the total number of
// perfect squares between 2 numbers
function countTotalSquares(num1, num2) {
var result = 0;
for(let i=num1; i<=num2; i++) {
for(let j=1; j*j<=i; j++) {
if(j*j == i) {
result++;
}
}
}
return result;
}
var num1 = 10;
var num2 = 100;
document.write("Total number of perfect squares between " + num1 + " and " + num2 + ": " + countTotalSquares(num1, num2) + "<br>");
var num3 = 15;
var num4 = 82;
document.write("Total number of perfect squares between " + num3 + " and " + num4 + ": " + countTotalSquares(num3, num4) + "<br>");
var num5 = 3;
var num6 = 36;
document.write("Total number of perfect squares between " + num5 + " and " + num6 + ": " + countTotalSquares(num5, num6) + "<br>");
var num7 = 12;
var num8 = 65;
document.write("Total number of perfect squares between " + num7 + " and " + num8 + ": " + countTotalSquares(num7, num8) + "<br>");

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Abordagem eficiente para encontrar o número de quadrados perfeitos entre dois números

Você também pode encontrar o número total de quadrados perfeitos entre dois números usando a seguinte fórmula:

 Nº total de quadrados perfeitos entre num1 e num2 = floor (sqrt (num2)) - ceil (sqrt (num1)) + 1

A complexidade de tempo desta solução ( O (log num2) ) é melhor do que a abordagem anterior ( O ((num2-num1) * sqrt (num2)) ).

Implementação C ++ usando fórmula eficiente

Abaixo está a implementação C ++ para encontrar o número total de quadrados perfeitos entre dois números:

 // C++ program to count the total number of
// perfect squares between 2 numbers
#include <bits/stdc++.h>
using namespace std;
int countTotalSquares(int num1, int num2)
{
return (floor(sqrt(num2)) - ceil(sqrt(num1)) + 1);
}
int main()
{
int num1 = 10;
int num2 = 100;
cout << "Total number of perfect squares between " << num1 << " and " << num2 << ": " << countTotalSquares(num1, num2) << endl;
int num3 = 15;
int num4 = 82;
cout << "Total number of perfect squares between " << num3 << " and " << num4 << ": " << countTotalSquares(num3, num4) << endl;
int num5 = 3;
int num6 = 36;
cout << "Total number of perfect squares between " << num5 << " and " << num6 << ": " << countTotalSquares(num5, num6) << endl;
int num7 = 12;
int num8 = 65;
cout << "Total number of perfect squares between " << num7 << " and " << num8 << ": " << countTotalSquares(num7, num8) << endl;
return 0;
}

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Relacionado: Como Encontrar a Média de uma Matriz em Python, C ++, JavaScript e C

Implementação Python usando fórmula eficiente

Abaixo está a implementação do Python para encontrar o número total de quadrados perfeitos entre dois números:

 # Python program to count the total number of
# perfect squares between 2 numbers
def countTotalSquares(num1, num2):
return (math.floor(math.sqrt(num2)) - math.ceil(math.sqrt(num1)) + 1)
num1 = 10
num2 = 100
print("Total number of perfect squares between", num1, "and", num2, ":", countTotalSquares(num1, num2))
num3 = 15
num4 = 82
print("Total number of perfect squares between", num3, "and", num4, ":", countTotalSquares(num3, num4))
num5 = 3
num6 = 36
print("Total number of perfect squares between", num5, "and", num6, ":", countTotalSquares(num5, num6))
num7 = 12
num8 = 65
print("Total number of perfect squares between", num7, "and", num8, ":", countTotalSquares(num7, num8))

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Relacionado: Classes abstratas em Python: um guia para iniciantes

Implementação de JavaScript usando fórmula eficiente

Abaixo está a implementação de JavaScript para encontrar o número total de quadrados perfeitos entre dois números:

 // JavaScript program to count the total number of
// perfect squares between 2 numbers
function countTotalSquares(num1, num2) {
return (Math.floor(Math.sqrt(num2)) - Math.ceil(Math.sqrt(num1)) + 1);
}
var num1 = 10;
var num2 = 100;
document.write("Total number of perfect squares between " + num1 + " and " + num2 + ": " + countTotalSquares(num1, num2) + "<br>");
var num3 = 15;
var num4 = 82;
document.write("Total number of perfect squares between " + num3 + " and " + num4 + ": " + countTotalSquares(num3, num4) + "<br>");
var num5 = 3;
var num6 = 36;
document.write("Total number of perfect squares between " + num5 + " and " + num6 + ": " + countTotalSquares(num5, num6) + "<br>");
var num7 = 12;
var num8 = 65;
document.write("Total number of perfect squares between " + num7 + " and " + num8 + ": " + countTotalSquares(num7, num8) + "<br>");

Produto :

 Total number of perfect squares between 10 and 100: 7
Total number of perfect squares between 15 and 82: 6
Total number of perfect squares between 3 and 36: 5
Total number of perfect squares between 12 and 65: 5

Monetize suas habilidades de programação

A codificação é considerada uma das melhores habilidades profissionais do século XXI. Oferece oportunidades ilimitadas para suas idéias criativas que podem render algum dinheiro. Você pode ganhar dinheiro como freelancer, escrevendo blogs técnicos, desenvolvendo aplicativos e APIs, vendendo eBooks e cursos, etc. A única maneira de descobrir o que gosta é mergulhando!