洛穀1125 笨小猴 解題報告

來源:互聯網
上載者:User

標籤:

洛穀1125 笨小猴

本題地址: http://www.luogu.org/problem/show?pid=1125

題目描述

笨小猴的詞彙量很小,所以每次做英語選擇題的時候都很頭疼。但是他找到了一種方法,經實驗證明,用這種方法去選擇選項的時候選對的幾率非常大!
這種方法的具體描述如下:假設maxn是單詞中出現次數最多的字母的出現次數,minn是單詞中出現次數最少的字母的出現次數,如果maxn-minn是一個質數,那麼笨小猴就認為這是個Lucky Word,這樣的單詞很可能就是正確的答案。

輸入輸出格式

輸入格式:

輸入檔案word.in只有一行,是一個單詞,其中只可能出現小寫字母,並且長度小於100。

輸出格式:

輸出檔案word.out共兩行,第一行是一個字串,假設輸入的的單詞是Lucky Word,那麼輸出“Lucky Word”,否則輸出“No Answer”;
第二行是一個整數,如果輸入單詞是Lucky Word,輸出maxn-minn的值,否則輸出0。

輸入輸出範例

輸入範例#1:

[input1]error[input2]olympic

輸出範例#1:

[output1]Lucky Word2[output2]No Answer0
說明

【輸入輸出範例1解釋】
單詞error中出現最多的字母r出現了3次,出現次數最少的字母出現了1次,3-1=2,2是質數。
【輸入輸出範例2解釋】
單詞olympic中出現最多的字母i出現了2次,出現次數最少的字母出現了1次,2-1=1,1不是質數。
//註:此處原題解釋有誤,實際上是0,也不是質數。
noip2008提高第一題

題解

類比+質數判斷

又是一道類比題(原來英語選擇還可以這樣做。。)。首先我們需要求出單詞中出現最多和最少的字母的次數(具體操作請看代碼),作差。重點是質數的判斷,我們知道一個大於1的自然數,除了1和它本身外,不能被其他自然數(包括質數)整除,換句話說就是該數除了1和它本身以外不再有其他的因數,否則稱為合數。所以,我們需要用一個函數來枚舉因數,如果該數除了1和它本身以外不再有其他的因數,那麼它就是我們要找的質數。最後輸出結果。下面附上代碼。

代碼
  1. program word;  
  2. var  
  3.   l,n,m,maxn,minn,i:longint;  
  4.   s:string;  
  5.   a:array[1..26] of longint;  
  6. function prime(a:longint):boolean;  
  7.   begin  
  8.     prime:=true;  
  9.     if (a=0) or (a=1) then  
  10.       begin  
  11.         prime:=false;  
  12.         exit;  
  13.       end;  
  14.     if a=2 then exit;  
  15.     for i:=2 to trunc(sqrt(a)+0.5) do  
  16.       begin  
  17.         if (a mod i=0) then prime:=false;  
  18.         break;  
  19.       end;  
  20.   end;  
  21. begin  
  22.   readln(s);  
  23.   maxn:=0;  
  24.   minn:=100;  
  25.   m:=0;  
  26.   fillchar(a,sizeof(a),0);  
  27.   l:=length(s);  
  28.   for i:=1 to l do  
  29.     inc(a[ord(s[i])-96]);  
  30.   for i:=1 to 26 do  
  31.     begin  
  32.       if a[i]>maxn then maxn:=a[i];  
  33.       if (a[i]<minn) and (a[i]<>0) then minn:=a[i];  
  34.     end;  
  35.   m:=maxn-minn;  
  36.   if prime(m) then  
  37.     begin  
  38.       writeln(‘Lucky Word‘);  
  39.       writeln(m)  
  40.     end  
  41.   else  
  42.     begin  
  43.       writeln(‘No Answer‘);  
  44.       writeln(0);  
  45.     end;  
  46. end.  

(本文系筆者原創,未經允許不得轉載)

洛穀1125 笨小猴 解題報告

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.