24h購物| | PChome| 登入
2009-05-10 16:10:21| 人氣607| 回應0 | 上一篇 | 下一篇

2006 NOIP 普及組 NOIP2006 4.數列

推薦 0 收藏 0 轉貼0 訂閱站台

作法:要轉成2進位
想法:最底下的網址...

/*********************************************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
 int k,n;
 while(scanf("%d %d",&k,&n)==2)
   {
    int num[20]={0},ans=0,a;
    num[0]=n;/*先將n轉成2進位*/
     for(a=0;a<20;a++)
      if(num[a]>=2)
       {
         num[a+1]=num[a]/2;
         num[a]=num[a]%2;
       }
     int copyk=1;
     for(a=0;a<20;a++)
      {
        if(num[a]==1)
         ans=ans+copyk;
         copyk=copyk*k;
      }
      printf("%d\n",ans);
   }
 return 0;
}
/*http://iknow.baidu.com/question/15552054.html*/

 

台長: 來源不明
人氣(607) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 資訊競賽 |
此分類下一篇:97高市資訊學科能力競賽 4. 制服發放
此分類上一篇:2006 NOIP 普及組 NOIP2006 3.Jam的計數法

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文