L1-011
思路:
用map存不需要输出的字符
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
string s;
map<char,bool> mp;
int main(){
getline(cin,s);
char c=getchar();
while(c!='
'&&~c) mp[c]=true,c=getchar();
for(char c:s) if(!mp[c]) putchar(c);
return 0;
}
L1-012
思路:
1<<n==2^n
当然也可以用pow
或者写循环
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
int n; cin>>n; cout<<"2^"<<n<<" = "<<(1<<n);
return 0;
}
L1-013
思路:
按题意计算即可,可以用前缀积简化代码
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int ans[15];
int main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
ans[0]=1;
for(int i=1;i<15;i++) ans[i]=i*ans[i-1];
int n,sum=0; cin>>n;
for(int i=1;i<=n;i++) sum+=ans[i];
cout<<sum;
return 0;
}
L1-014
思路:
按题意输出
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
cout<<"This is a simple problem.";
return 0;
}
L1-015
思路:
浮点数+0.5再向下取整就可以达到四舍五入的功能
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m; cin>>m; n=m/2.0+0.5;
char c=getchar(); c=getchar();
for(int i=0;i<n;i++){
for(int j=0;j<m;j++) putchar(c);
putchar('
');
}
return 0;
}