Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 从数学上讲,这个循环将运行多少次?_Loops_Math_Count - Fatal编程技术网

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次

如果n是整数,则循环将运行23次。如果您需要证据或工作细节,请通知我

我在C++中把它作为整数进行测试,这就是我得到23的方法。看来我没有答对这个问题。下面是我使用的代码:

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