第一题:九进制转十进制
#include<bits/stdc++.h>
using namespace std;
int changer(string n,int d)
{
int carry=0;
int ans=0;
for(int i=0;i<n.size();i++)
{
ans=ans*d+n[i]-'0';
}
return ans;
}
int main()
{
cout<<changer("2022",9);
return 0;
}
第二题:顺子日期
答案一:20220123、20221230、20221231、20221123。4种
答案二:2022012n(n=[0,9])共10种,加上答案一的一共14种
第三题:刷题统计
先计算要花几周,不然循环会超时。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll cnt=0;
ll a,b,n;
cin>>a>>b>>n;
cnt+=7*(n/(5*a+2*b));
n=n%(5*a+2*b);
for(int i=1;i<=7;i++)
{
if(n<=0) break;
if(i%7==6||i%7==0) n-=b;
else n-=a;
cnt++;
}
cout<<cnt<<endl;
return 0;
}
第四题:修剪灌木
找规律
当n=3得到 4 2 4
当n=4得到 6 4 4 6
当n=5得到 8 6 4 6 8
会发现左右两边的最大值为(n-1)*2,并且每往中间靠近一步就 -2
#include<bi