使用 C++ 找到 Nth_Non_Square_Number
2、3、5、7、8等任何数的非平方数我们都知道,非平方数有第N个,不可能知道每一个数。所以在本文中,我们将解释有关无平方数或非平方数的所有内容以及在C++中找到第N个非平方数的方法。
第N个非平方数
如果一个数是整数的平方,则称该数为完全平方数。完美平方数的一些例子是-
1 is square of 1 4 is square of 2 9 is square of 3 16 is square of 4 25 is square of 5
如果一个数不是任何整数的平方,则称该数为非平方数。例如,前15个非平方数是-
2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19
如何找到第N个非平方数?
所以这里是找到第N个非平方数的例子-
Input : 2 Output : 3 Explanation : 2nd Non square number is 3 (after 2 which is first non square number) Input : 5 Output : 7 Explanation : 7th Non square number is 7 ( after 2,3,5,6 which are first four non square
看了上面的例子,我们可以想出一个解决方案,为了找到第N个非平方数,我们需要对第n个数开始计数,并检查每个整数是否是一个完全平方数,并且不计算是一个完美的平方,即,如果数字是一个完美的平方,就进行计数。
创建一个C++程序来查找第N个非平方数
我们已经创建了一个完整的语法,用于在C++中查找第N个非平方数。
示例
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; //接受用户的输入。 int i = 2; //因为0和1是它们自己的平方,所以我们从2开始计算。 int cnt = 0; //声明计数器变量; while(cnt != n){//当out计数器的值与n相同时,循环将终止。 int a = sqrt(i); if(i != a*a) cnt++; if(cnt != n) i++; } cout << i << "\n"; //打印第n个非平方数。 }输出结果
5
(当我们提供3作为输入时,我们得到5作为输出)
让我们对上面的代码做一个简单的解释。
步骤1-从用户那里获取输入并将计数设置为0。
cin >> n; //接受用户的输入。 int i = 2; //因为0和1是它们自己的平方,所以我们从2开始计算。 int cnt = 0; //声明计数器变量;
步骤2-计算非平方数并跳过平方数。
while(cnt != n) //当out计数器的值与n相同时,循环将终止。{ int a = sqrt(i); //使用sqrt()函数求平方根。 if(i != a*a) //检查数字是否为完全平方数。 cnt++; //如果发现非完美数字,则递增计数器。 if(cnt != n) i++; }
步骤3-打印第N个平方数。
cout << i << "\n"; //打印第n个非平方数。
结论
在本文中,我们解释了非平方数以及在C++中查找第N个非平方数的方法。除了C++,我们还可以在不同的编程语言中使用这个程序,例如Java、Python、C或任何其他语言。我们希望您觉得这篇文章有用且信息丰富,因为我们以最简单的方式描述了所有内容。