【每週例題】藍橋杯 C++ 雞哥的蛋糕大作戰

山远尽成云發表於2024-04-07

雞哥的蛋糕大作戰

題目

雞哥的蛋糕大作戰

題目分析

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;
}

  

相關文章