求和
1905111
这里的string::npos可以使用-1代替
#include<iostream>
#include<string>
using namespace std;
int main(){
long long ans=0;
for(int i=1;i<=2019;i++){
string str=to_string(i);
if(str.find("2")!= string::npos||str.find("0")!= string::npos||str.find("1")!= string::npos||str.find("9")!= string::npos){
ans+=i;
}
}
cout<<ans<<endl;
return 0;
}
矩形切割
21
#include<iostream>
#include<string>
using namespace std;
int main(){
long long ans=0;
int a=2019,b=324;
int temp;
while(a>0&&b>0){
if(a<b) temp=a,a=b,b=temp;
a=a-b;
ans++;
}
cout<<ans<<endl;
return 0;
}
年号字符
BYQ
#include<iostream>
#include<string>
#include<stack>
using namespace std;
stack<int> ans;
int main(){
int num=2019;
int shang=0;
int yushu=0;
while(num!=0){
yushu=num%26;
shang=num/26;
ans.push(yushu);
num=shang;
}
while(!ans.empty()){
int mount=ans.top();
char chr=mount-1+'A';
cout<<chr;
ans.pop();
}
return 0;
}
质数
17569
#include<iostream>
#include<string>
#include<stack>
#include<cmath>
using namespace std;
int main(){
int num=1;
int begin=2;
while(num!=2019){
begin++;
bool flag=true;
for(int i=2;i<=sqrt(begin);i++){
if(begin%i==0){
flag=false;
break;
}
}
if(flag)
num++;
}
cout<<begin<<endl;
return 0;
}
最大降雨量
34
49-第四周比中位数大的(3)-第五周的中位数(1)-第五周的比中位数大的(3)
49-3-4-4-4=34
旋转
#include<iostream>
#include<string>
#include<stack>
#include<cmath>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int img[m+1][n+1];
int ans[n+1][m+1];
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>img[i][j];
ans[j][m-i+1]=img[i][j];
}
}
//旋转九十度
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
cout<<ans[i][j]<<" ";
cout<<endl;
}
return 0;
}