代码比较
#include<bits/stdc++.h>using namespace std;
#define endl '\n'
#define ll long long
#define int long long
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
int shang=2e5+7;
int arr;
for(int i=1;i<=shang-1;i++){
int he=0;
int zhi=i;
while(zhi){
he+=zhi%10;
zhi/=10;
}
arr=he;
}
arr=0;
for(int i=1;i<=shang-1;i++){
arr+=arr;
}
while(t--){
int n;
cin>>n;
cout<<arr<<endl;
}
return 0;
}
与第二份代码相比为什么会快这么多,第二份代码为什么运行这么慢
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define int long long
const int N=1e6+10;
int pre;
void solve()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int he=0;
int x=i;
while(x>0)
{
he+=x%10;
x/=10;
}
pre=he;
}
for(int i=1;i<=n;i++)
{
pre+=pre;
}
cout<<pre<<endl;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--)
{
solve();
}
}
这段代码的作用是读入一个整数t,然后循环t次。每次循环中,程序将输入的整数存储在变量arr中,并输出arr。
在这段代码中,使用了一些预处理指令和宏定义来简化代码编写和提高效率。其中,`#include`是C++中引入头文件的指令,`using namespace std;`表示使用标准命名空间std,`#define endl '\n'`定义了换行符为'\n',`#define ll long long`和`#define int long long`定义了ll和int为long long型。
程序开始时通过`ios::sync_with_stdio(0)`来关闭C++标准流与C标准流之间的同步,以提高输入输出效率。然后通过`cin.tie(0)`和`cout.tie(0)`将cin和cout与其他输入输出关联起来,以提高效率。
接着定义了变量t和shang,并将2e5+7赋值给shang。然后进入for循环,从1循环到t。在循环体内,使用`cin>>arr`读入一个整数,并使用`cout`将该整数输出。
这段代码可以正常运行,但是在最后一行的输出部分似乎出现了错误,因为没有给出具体的输出内容,所以无法得知最终输出的内容是什么。如果需要进一步帮助,请提供更多的信息。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]