- 2025/07/18新生课前测
2025/07/18新生课前测 题解
- @ 2025-7-18 8:44:46
第一题,考察双重循环,没什么好说的
参考题解:
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main(){
cin>>a>>b;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
cout<<i<<"-"<<j<<"\n";
}
}
return 0;
}
第二题用数组存储每个数出现多少次
参考题解:
#include<bits/stdc++.h>
using namespace std;
int a,b;
int k[10];
int main(){
cin>>a;
while(a--){
cin>>b;
k[b]++;
}
for(int i=0;i<=9;i++)cout<<k[i]<<" ";
return 0;
}
第三题,简单的递推
由数学知识可知, 因为增长很大,所以不知道数据范围的情况下可以开 参考题解:
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b;
int k[45];
signed main(){
k[1]=1;
k[2]=1;
for(int i=3;i<=42;i++){
k[i]=k[i-1]+k[i-2];
}
scanf("%lld",&a);
printf("%lld",k[a]);
return 0;
}
第四题,“打擂台”
参考题解:
#include<bits/stdc++.h>
using namespace std;
int minu=214748364,a,b;
int main(){
cin>>a;
while(a--){
cin>>b;
minu=min(minu,b);
}
cout<<minu;
return 0;
}
第五题对新生略有难度,可以选择开两个数组
第二个数组存储有没有被加过
#include<bits/stdc++.h>
using namespace std;
bool k[10005];
bool d[21000];
int a,b,ans;
int main(){
cin>>a;
while(a--){
cin>>b;
k[b]=1;
}
for(int i=1;i<=10005;i++){
for(int j=1;j<=10005;j++){
if(i!=j&&k[i]&&k[j]&&k[i+j]&&d[i+j]==0){
ans++;
d[i+j]=1;
}
}
}
printf("%d",ans);
return 0;
}
希望大家能喜欢 CDEZ-OJ
1 comments
-
1232RvE 把数据库搞坏的罪魁祸首 LV 8 MOD @ 2025-7-18 8:45:49哇!大佬技术力太强啦!
🤡 2👀 1
- 1