[編程題] 猜數(shù)游戲

來源:盼鸶海客網(wǎng)2017年校招全國統(tǒng)一模擬筆試(第五場)編程題集合

時間限制:1秒
空間限制:32768K

牛牛和羊羊在玩一個有趣的猜數(shù)游戲复亏。在這個游戲中,牛牛玩家選擇一個正整數(shù),羊羊根據(jù)已給的提示猜這個數(shù)字俱两。第i個提示是"Y"或者"N",表示牛牛選擇的數(shù)是否是i的倍數(shù)赎线。例如,如果提示是"YYNYY",它表示這個數(shù)使1,2,4,5的倍數(shù),但不是3的倍數(shù)。注意到一些提示會出現(xiàn)錯誤钥弯。例如: 提示"NYYY"是錯誤的,因為所有的整數(shù)都是1的倍數(shù),所以起始元素肯定不會是"N"径荔。此外,例如"YNNY"的提示也是錯誤的,因為結(jié)果不可能是4的倍數(shù)但不是2的倍數(shù)。現(xiàn)在給出一個整數(shù)n,表示已給的提示的長度寿羞。請計算出長度為n的合法的提示的個數(shù)猖凛。例如 n = 5:合法的提示有:YNNNN YNNNY YNYNN YNYNY YYNNN YYNNYYYNYN YYNYY YYYNN YYYNY YYYYN YYYYY所以輸出12 輸入描述:
輸入包括一個整數(shù)n(1 ≤ n ≤ 10^6),表示已給提示的長度。
輸出描述:
輸出一個整數(shù),表示合法的提示個數(shù)绪穆。因為答案可能會很大,所以輸出對于1000000007的模
輸入例子1:
5
輸出例子1:
12

分析

這道題比較難。

首先運用動態(tài)規(guī)劃的思想

首先我們分析虱岂,dp[i]表示前i個數(shù)的合法個數(shù)
當?shù)趇個數(shù)是素數(shù)的時候玖院,前面除了1都沒有能除盡的,所以這個位置可以隨便選Y或N,所以dp[i] = dp[i-1]
當?shù)趇個數(shù)不是素數(shù)的冪次第岖,比如6难菌,10這種數(shù),那么他們的情況實際上是被前面的數(shù)所決定的蔑滓,對6來說郊酒,如果2,3為YY,那么6必然是Y键袱,其他情況6必須是N,所以dp[i] = dp[i-1]
當?shù)趇個數(shù)是素數(shù)的冪次的時候燎窘,也就是2,4蹄咖,8褐健,16這種數(shù),這時候情況就復(fù)雜了澜汤。假設(shè)現(xiàn)在有2蚜迅,4舵匾,8,那么有多少種情況呢谁不,我們仔細分析也能找出規(guī)律
YYY,YNN,NNN坐梯,YYN就這四種情況
對于2,4
YN,YY,NN三種情況
我們發(fā)現(xiàn)實際上也是有規(guī)律的刹帕,首先都能或者都不能兩種吵血,然后就是從左到右添加Y:
YNN,YYN。
所以對于這種情況轩拨,我們得出規(guī)律践瓷,如果有n個冪次,就有n+1中可行的情況亡蓉。

分析完之后晕翠,我們就可以得出計算方法,對于12:
2砍濒,4淋肾,8這三個數(shù)是冪次,有4中可能
3爸邢,9 這兩個數(shù)冪次樊卓,有三種可能
5,7杠河,11碌尔,分別是兩種可能
其他的數(shù)都由其他數(shù)決定
所以最后結(jié)果就是43222

所以我們思考一下,最后就變成了找素數(shù)和素數(shù)冪次的個數(shù)了券敌。

代碼

import java.util.*;


public class Main {
    
    final static int MAX = (int) (1e6+5);
    
    final static int MOD = (int) (1E9+7);
    
    static boolean[] visited = new boolean[MAX];

    
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int n = in.nextInt();
        
        in.close();
        
        System.out.println(helper(n));
    }
    
    private static long helper(int n) {
        
        long ans = 1;
        for(int i=2;i<=n;i++) {
            int count = 0;
            if(visited[i])
                continue;
            for(int j=i+i;j<=n;j+=i) {
                visited[j] = true;
            }
            
            long mi = i;
            while(mi <= n) {
                count++;
                mi = mi*i;
            }
            
            ans = ans * (count+1) % MOD;
        }
        
        return ans;
    }
    
    
}

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唾戚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子待诅,更是在濱河造成了極大的恐慌叹坦,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卑雁,死亡現(xiàn)場離奇詭異募书,居然都是意外死亡,警方通過查閱死者的電腦和手機测蹲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門莹捡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弛房,你說我怎么就攤上這事道盏。” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵荷逞,是天一觀的道長媒咳。 經(jīng)常有香客問我,道長种远,這世上最難降的妖魔是什么涩澡? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮坠敷,結(jié)果婚禮上妙同,老公的妹妹穿的比我還像新娘。我一直安慰自己膝迎,他們只是感情好粥帚,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著限次,像睡著了一般芒涡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卖漫,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天费尽,我揣著相機與錄音,去河邊找鬼羊始。 笑死旱幼,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的突委。 我是一名探鬼主播柏卤,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼匀油!你這毒婦竟也來了闷旧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤钧唐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后匠襟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钝侠,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年酸舍,在試婚紗的時候發(fā)現(xiàn)自己被綠了帅韧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡啃勉,死狀恐怖忽舟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤叮阅,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布刁品,位于F島的核電站,受9級特大地震影響浩姥,放射性物質(zhì)發(fā)生泄漏挑随。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一勒叠、第九天 我趴在偏房一處隱蔽的房頂上張望兜挨。 院中可真熱鬧,春花似錦眯分、人聲如沸拌汇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽噪舀。三九已至,卻和暖如春丢氢,著一層夾襖步出監(jiān)牢的瞬間傅联,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工疚察, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒸走,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓貌嫡,卻偏偏與公主長得像比驻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岛抄,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容