关于 for 循环
  • 板块灌水区
  • 楼主xujingyu
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/19 12:04
  • 上次更新2024/8/19 14:59:59
查看原帖
关于 for 循环
553818
xujingyu楼主2024/8/19 12:04

众所周知,for 循环 10810^8 会超时。

我就一直有个问题,手写 10810^8 行代码会超时吗?……但是不太可能。

因为,

实践是检验真理的唯一标准

所以我试了以下操作:

例如这份代码它就跑得十分慢。

#include <bits/stdc++.h>
using namespace std;

signed main()
{
	int cnt=0;
	for(int i=1;i<=100000000;i++)cnt++,cnt--;
    return 0;
}

或者这个:

#include <bits/stdc++.h>
using namespace std;

signed main()
{
	int cnt=0;
	for(int i=1;i<=10000000;i++){
		for(int j=1;j<=10;j++)cnt++,cnt--;
	}
    return 0;
}

但是把第二层 for 循环拆开,这么写:

#include <bits/stdc++.h>
using namespace std;

signed main()
{
	int cnt=0;
	for(int i=1;i<=10000000;i++){
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
		cnt++,cnt--;
	}
    return 0;
}

就很快?

这是为什么……难道是进入 for 有常数吗?

2024/8/19 12:04
加载中...