数学吧 关注:900,087贴子:8,785,055
  • 61回复贴,共1

循环语句。UNTIL型和WHILE型都可以无限循环么。。。

只看楼主收藏回复

如题。求解答。。


IP属地:浙江来自iPad1楼2013-06-01 16:12回复
    while true do meow();
    repeat meow() until false;
    [手动.绿豆蛙.打酱油]


    IP属地:广东2楼2013-06-01 16:22
    收起回复
      都不能


      IP属地:湖北3楼2013-06-01 16:23
      收起回复
        while 1


        IP属地:广东来自Android客户端4楼2013-06-01 16:23
        收起回复
          小心被吃光内存
          n:=2
          while n>1
          n:=n+1;
          end while


          IP属地:加拿大5楼2013-06-01 16:36
          收起回复
            这个是C语言吗?


            IP属地:湖北来自Android客户端6楼2013-06-01 16:51
            收起回复
              这个发错贴吧了吧……额……


              IP属地:上海7楼2013-06-01 16:53
              收起回复
                n=2
                while( n>1 )
                do
                {
                n=n+2;
                while (n<=4)
                do
                {
                n=n-2;
                break;
                }
                break;
                }
                }
                我加了一个输出语句,没有问题,输出的n=2


                IP属地:湖北来自Android客户端8楼2013-06-01 17:23
                回复
                  无限循环不叫算法了吧…………高中课本是这样讲的


                  来自手机贴吧9楼2013-06-01 17:50
                  收起回复
                    看循环条件的啊,为真就循环下去那显然是可以无限循环的
                    while(GetMessage(&msg,NULL,0,0))
                    {
                    TranslateMessage(&msg);
                    DispatchMessage(&msg);
                    }
                    windows程序就是这样实现在不收到WM_DESTROY的情况下无限循环来保持消息响应


                    10楼2013-06-01 18:03
                    收起回复
                      LOOP的五种类型
                      DO / LOOP
                      DO WHILE ... / LOOP
                      DO UNTIL ... / LOOP
                      DO / LOOP WHILE ...
                      DO / LOOP UNTIL ...
                      其中第一种一定无限循环,后面几种都可以无限循环


                      IP属地:江苏11楼2013-06-01 18:15
                      收起回复
                        Do
                        n=1
                        loop until 0>1
                        ↑没错就是这样


                        IP属地:江苏12楼2013-06-01 19:02
                        收起回复
                          可以啊 比如写一些破坏程式(往硬盘狂写垃圾文件)


                          IP属地:广东来自手机贴吧13楼2013-06-01 19:18
                          回复
                            都不行吧。。
                            我一般是do() loop()


                            14楼2013-06-02 12:49
                            回复
                              你可以试试这个(转的)
                              #include <iostream>
                              using namespace std;
                              int hashbiao[30000];
                              int main()
                              {
                              int n , m , t , i , j , js = 0 , maxz = 0 , max = 0 , min = 100000;
                              cin >> n;
                              cin >> m >> t;
                              long long shuju[n + 1];
                              for (i = 0 ; i < n ; i++)
                              cin >> shuju[i];
                              if (m == 1)
                              cout << "0" << endl;
                              else
                              {
                              i = 2;
                              while (m != 1)
                              {
                              while (m % i == 0)
                              {
                              m /= i;
                              hashbiao[i]++;
                              }
                              if (i > maxz)
                              maxz = i;
                              hashbiao[i++] *= t;
                              }
                              int ans = 0;
                              for (i = 0 ; i < n ; i++)
                              {
                              max = 0;
                              for (j = 2 ; j <= maxz ; j++)
                              {
                              if (hashbiao[j] == 0)
                              continue;
                              js = 0;
                              while (shuju[i] % j == 0)
                              {
                              shuju[i] /= j;
                              js++;
                              }
                              if (!js)
                              {
                              max = 100000;
                              break;
                              }
                              if ((hashbiao[j] - 1) / js > max)
                              max = (hashbiao[j] - 1) / js;
                              }
                              if (max < min)
                              {
                              min = max;
                              ans = max;
                              }
                              }
                              if (ans == 0)
                              cout << "-1";
                              else
                              cout << ans + 1;
                              }
                              system("pause");
                              return 0;
                              }


                              16楼2013-06-02 22:03
                              回复