Loops 从数学上讲,这个循环将运行多少次?
这是一道数学题。 每一个答案都非常感谢。Loops 从数学上讲,这个循环将运行多少次?,loops,math,count,Loops,Math,Count,这是一道数学题。 每一个答案都非常感谢。 和平。什么是n 在我的例子中,它是一个C++类,类似于: while ( n > 0 ) { n = n/2 ; } 。。。永远如此 但是,如果我们将n作为一个整数类型,并向0取整,那么: 如果n小于或等于0 否则,循环将运行floor(log2n)+1次 如果n是整数,则循环将运行23次。如果您需要证据或工作细节,请通知我 我在C++中把它作为整数进行测试,这就是我得到23的方法。看来我没有答对这个问题。下面是我使用的代码: clas
和平。什么是
n
在我的例子中,它是一个C++类,类似于:
while ( n > 0 ) {
n = n/2 ;
}
。。。永远如此
但是,如果我们将n
作为一个整数类型,并向0取整,那么:
- 如果
小于或等于n
0
- 否则,循环将运行
floor(log2n)+1次
class MyN {
public:
bool operator > (int) const { return true; }
MyN & operator / (int) { return *this; }
}
#包括
使用名称空间std;
int main()
{
int n;
int x=0;
而(n>0)
{
cout如果n
是整数,并且/
是整数除法运算符,其中1/2
是0
,则循环将执行以下两项操作之一:
- 如果
n
最初从虚构抽象(数学)的角度来看是,它将永远运行,但这不是有用的信息:)
根据现实的客观世界,
色诺内斯克视图:循环将一直运行,直到阿基里斯抓住海龟
DemoCrituseQue视图:循环将一直运行,直到对象(数字-作为数学对象)发生定量变化为止我们的意识无法感知更多的变化,至少在初始对象的上下文中是如此,因此最好到此为止,并将最后一个可分割对象命名为原子序数
CSesque视图:直到解释器/编译器将除法计算为零
对于Python2.7,在应用以下函数时
#include <iostream>
using namespace std;
int main()
{
int n;
int x = 0;
while ( n > 0 )
{
cout << n << endl;
x++;
n = n/2 ;
}
cout << "Amount of times loop is: " << x << endl;
return 0;
}
至范围(部分从1至10**308),最小值为1075,最大值为2098。因此,范围增加10倍只能使迭代增加3倍。如果是数学问题,那么它就脱离主题了。但正如您所问,它不会运行,因为n
没有初始化,很可能是0-因此while
条件永远不会满足以触发循环。您何时不尝试它可以计算一些不同的n值,然后进行猜测?n是int、float、double还是别的?因为操作n=n/2
永远不会改变n
的符号,循环要么根本不会运行,要么永远不会运行,这取决于n
的初始值。直到您将编程语言拖入其中。@JeroenMostert:1/2==0,至少在C#中是这样(可能在大多数语言中是这样),所以它最终会终止。@EricJ。虽然OP确实说了“数学上”…n是一个假设数字。它可以是7或2或任何数字。这是一个数学问题,我的问题是,找到一个适用于每个整数(n)的句子.所以如果有while(n>0){n--;}这将运行n次。谢谢you@user3209681在这种情况下,您提出的问题与stackoverflow无关。可能是一个更好的场合。如果这是您真正的意思,您最好指定n
是一个整数。n是一个整数,可以是任何整数。我正在搜索一个句子,它可以为我提供正确的循环时间整数n的每个值。例如,如果你给n=3,它将运行2次。n是一个假设的数字。它可以是7或2或任何东西。这是一个数学问题,我的问题是,找到一个适用于每个整数(n)的句子。因此,如果有while(n>0){n--;},它将运行n次。谢谢
def steps_to_zero(n, i=0):
while n>0:
n = n/2.0
i+=1
return i