34 藍橋杯之第幾個幸運數(填空題)

2021-10-02 13:33:27 字數 905 閱讀 4846

#include

using

namespace std;

intmain()

// 要排除ijk全是0的情況,比如max等於2時, ijk全是0,count顯示有一種情況

// coutreturn0;

}

剛開始真的很蠢的想著,暴力遍歷1-59084709587505,其中滿足是幸運數字的話就++,但是這樣子很慢,效率很低!!

腦子轉一下彎,其實就知道幸運數字滿足:3^a * 5^b * 7^c。代表有a個3,b個5,c個7相乘。那這樣子就可以分別for迴圈a,b,c的值,並且滿足的時候就代表乙個幸運數

if

(pow(3

,i)*

pow(

5,j)

* pow (

7,k)

< max&&

pow(

3,i)

*pow(5

,j)* pow (

7,k)

>1)

//執行結果1905 if(

pow(

3,i)

*pow(5

,j)* pow (

7,k)

<= max&&

pow(

3,i)

*pow(5

,j)* pow (

7,k)

>1)

// 執行結果1905

兩個執行結果都是1905,因為ijk是受前面的三個for迴圈裡限制的,三個for迴圈裡面都沒有<=max,只是網上好多答案都是說是1905.按道理程式跑出的結果是1905,證明前面有1905個幸運數,那59084709587505不應該是第1906個幸運數嗎,那答案不是應該是1906嗎??疑惑。。。一直沒理解。。。

藍橋 第幾個幸運數

到x星球旅行的遊客都被發給乙個整數,作為遊客編號。x星的國王有個怪癖,他只喜歡數字3,5和7。國王規定,遊客的編號如果只含有因子 3,5,7,就可以獲得乙份獎品。我們來看前10個幸運數字是 3 5 7 9 15 21 25 27 35 45 因而第11個幸運數字是 49 小明領到了乙個幸運數字 59...

藍橋杯省賽 第幾個幸運數

到x星球旅行的遊客都被發給乙個整數,作為遊客編號。x星的國王有個怪癖,他只喜歡數字3,5和7。國王規定,遊客的編號如果只含有因子 3,5,7,就可以獲得乙份獎品。我們來看前10個幸運數字是 3 5 7 9 15 21 25 27 35 45 因而第11個幸運數字是 49 小明領到了乙個幸運數字 59...

藍橋杯 演算法提公升 第幾個幸運數

我們來看前10個幸運數字是 3 5 7 9 15 21 25 27 35 45 因而第11個幸運數字是 49 小明領到了乙個幸運數字 59084709587505,他去領獎的時候,人家要求他準確地說出這是第幾個幸運數字,否則領不到獎品。請你幫小明計算一下,59084709587505是第幾個幸運數字...