A.九进制转十进制
题目描述:将一个九进制数字转换为十进制数字。
代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
iostream::sync_with_stdio(false);
double d=2*pow(9,0)+2*pow(9,1)+0+2*pow(9,3);
cout<<d<<endl;
return 0;
}
B.顺子日期
题目描述:在日期的yyyymmdd表示法中,如果存在连续的三个数字就是顺子日期,求解整个2022年份中有多少个顺子日期。
解题思路:定义一个函数判断是否存在连续的顺子,然后在主函数中遍历365天判断即可。主义基础知识,先加++和后加++的区别。考察字符串的处理。
int dayy =++day;
if (dayy>arr[month]) {
day = 1;
month++;
}
代码:
#include<bits/stdc++.h>
using namespace std;
int judge(string str) {
for (int i = 0; i < str.size() - 2; i++) {
if (str[i + 1] == str[i] + 1 && str[i + 2] == str[i] + 2) {
return 1;
}
}
return 0;
}
int main() {
iostream::sync_with_stdio(false);
int arr[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int year = 2022;
int month = 1;
int day = 1;
int numbers = 0;
for (int i = 0; i < 365; i++) {
char str[10];
sprintf_s(str, "%04d%02d%02d", year, month, day);
if (judge(str))
{
numbers++;
cout << str << endl;
}
int dayy =++day;
if (dayy>arr[month]) {
day = 1;
month++;
}
}
cout << numbers << endl;
return 0;
}
C.刷题统计
看到这个题,我突然感觉有点。。。
题目描述:周一到周五每天做a道题目,周六周天每天做b道题目,计算将在第几天实现做题数目大于等于n题。
#include<bits/stdc++.h>
using namespace std;
int main()
{
iostream::sync_with_stdio(false);
unsigned long long a;
unsigned long long b;
unsigned long long n;
cin>>a>>b>>n;
unsigned long long sum=0;
unsigned long long num=1;
while(sum<n){
if(num%7==0||(num+1)%7==0){
sum+=b;
}
else{
sum+=a;
}
num++;
}
cout<<num-1;
return 0;
}
D.修剪灌木
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
cout<<max(i,n-1-i)*2<<endl;
}
return 0;
}