【每周例题】蓝桥杯 C++ 鸡哥的蛋糕大作战
鸡哥的蛋糕大作战
题目


题目分析
1.使用一个for循环遍历全数,寻找最大洞的数
2.使用一个while进行数位拆分,寻找洞的数量
3.使用if从两个条件寻找最大洞的最小数
- 符合最大洞的数
- 洞数相同中的最小数
代码
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int a, b;
cin >> a >> b;
long long int summax = -1, count = 100000;
for (long long int i = a; i <= b; i++)
{
long long int sum = 0; // 重置 sum 为 0,用于计算当前数字的位数和
long long int num = i; // 复制 i 的值,以便不改变循环变量
while (num > 0)
{
int digit = num % 10;
if (digit == 0 || digit == 6 || digit == 9)
{
sum++;
}
else if (digit == 8)
{
sum += 2;
}
num /= 10;
}
if (sum > summax || (sum == summax && i < count))
{
summax = sum;
count = i;
}
}
cout << count;
return 0;
}

浙公网安备 33010602011771号