1. 程式人生 > >2017年河南省ACM省賽 Problem F: Binary to Prime

2017年河南省ACM省賽 Problem F: Binary to Prime

問題 F: Binary to Prime

時間限制: 1 Sec  記憶體限制: 128 MB

題目描述

To facilitate the analysis of  a DNA sequence,  a DNA sequence is represented by a binary  number. The group of  DNA-1 has discovered a great new way .  There is a certain correlation between binary number and prime number. Instead of using the ordinary decadic numbers, they use prime base numbers. Numbers in this base are expressed as sequences of zeros and ones similarly to the binary numbers, but the weights of bits  in the representation are not powers of two, but the elements of the primes  ( 2, 3, 5, 7,... ).

For example  01101 , ie. 2+5+7=14

Herefore, it is necessary to convert the binary number to the sum of prime numbers 

輸入

The input consists of several instances, each of them consisting of a single line. Each line of the input contains a 01 string, length of not more than 150.  The end of input is not marked in any special way.

輸出

For each test case generate a single line containing a single integer , The sum of the primes.

樣例輸入

000010
0011
11001

樣例輸出

3
5
20

分析

根據題目意思,給的字串的每個位置對應一個素數,而這些素數是按照從2開始的前150個素數,為了保證時間的最優,所以可以將這個素數陣列定義好,後面輸入字串之後直接使用

程式碼

#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
int prime[160]={0};
int isprime(int n)
{
    if(n==2)return 1;
    for(int i=2;i*i<=n;i++)
    {
        if(n%i==0) return 0;
    }
    return 1;
}
int main()
{
    int j=0;
    char s[160];
    for(int i=2;i<=1000;i++)
    {
        if(isprime(i)==1)
        {
            prime[j]=i;
            j++;
        }
    }//將從2開始的前160個素數存入陣列
    while(scanf("%s",s)!=EOF)
    {
        int sum=0,j=0;
        for(int i=strlen(s)-1;i>=0;i--,j++)//字串的倒序對應著素數陣列的順序
        {
            if(s[i]=='1')sum=sum+prime[j];//判斷此位置素數對應的權值是否為1,為1則加入總和
        }
        printf("%d\n",sum);
    }
}


相關推薦

2017河南省ACM Problem F: Binary to Prime

問題 F: Binary to Prime 時間限制: 1 Sec  記憶體限制: 128 MB 題目描述 To facilitate the analysis of  a DNA sequenc

2017河南省ACM Problem H: Intelligent Parking Building

問題 H: Intelligent Parking Building 時間限制: 1 Sec  記憶體限制: 128 MB 題目描述 There is a new revolution in th

2017山東省ACM總結

來看 其他 偉大的 之間 。。 bug 暑假 引導 問心無愧 2017年山東省ACM省賽總結

2017第十一屆(信陽師範學院之行)

         帶著忐忑和激動的心情,我踏上了參加省賽的路上,對於大一的我來說能參加此次省賽還是很幸運的,我知道目前我的水平不高,去參加省賽無疑是被虐的,但是內心還是想知道自己差了多少,又究竟能承受多大的打擊

2017藍橋杯C/C++ A組

題目轉載至:https://wenku.baidu.com/view/951dab772a160b4e767f5acfa1c7aa00b52a9d2d.html本題解不一定全對,歡迎指出錯誤。第一題1.標題:迷宮X星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通

zoj 4027 2018浙江acm Problem D. Sequence Swapping

思路: dp 第二次做還是沒有做出來。。。不過的確是個好題。 首先就是要確定dp狀態的定義,這裡我把dp[i][j] 定義為將第i個左括號移動到 位置>=j 的最大價值。 其實可以發現每個左括號其實都是有一個可移動上下界範圍的。我如果想要將第i個括號移動到位置j

第十屆河南省acm 年終獎金

D 年終獎金時間限制: 2 Sec  記憶體限制: 128 MB提交: 16  解決: 7[提交][狀態][討論版]題目描述***公司承接了N個專案需要年底完成,每個專案有一定的難度係數。由於專案太多了

第十屆河南省acm Binary to Prime

To facilitate the analysis of  a DNA sequence,  a DNA sequence is represented by a binary  number. The group of  DNA-1 has discovered a great new way .  Th

第十屆河南省acm參賽總結

大二下學期半年比起前一年半說真的努力了太多,但是某種程度上來說得到的結果卻不盡人意,可以說努力了結果卻不怎麼好,這次的省賽本來想著能拿個銀獎,最後只拿了銅,而且最遺憾的是距離銀其實並不遙遠,只差了4位

第十屆河南省acm 最小祕鑰

問題 C: 最小祕鑰時間限制: 1 Sec  記憶體限制: 128 MB提交: 35  解決: 22[提交][狀態][討論版]題目描述在中國近代史上,暫編***軍絕對是一支能打硬仗,大名鼎鼎的行動部隊。

第十屆河南省acm 諜報分析

“八一三”淞滬抗戰爆發後,***幾次準備去上海前線視察和指揮作戰。但都因為寧滬之間的鐵路和公路遭到了敵軍的嚴密封鎖,狂轟濫炸,一直未能成行。***特科組織,其主要任務是保衛***的安全,瞭解和掌握敵方的動向。經過一段時間的監聽,諜報組獲取了敵方若干份密報,經過分析,發現密文中頻繁出現一些單詞,情報人員試圖從單

2018山東省第九屆acm F題 Four-tuples(離散數學 容斥定理)

Four-tuplesTime Limit: 2000 ms Memory Limit: 524288 KiBProblem DescriptionGiven l1, r1, l2, r2, l3, r3, l4, r4, please count the number of

2018山東省第九屆acmF題,容斥原理

#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; int main() { ll n,l1,l2,l3,l4,r1,r2,r3,r4

2018藍橋杯B組國河南省第十一屆ACM比賽心得

*******今年不禁要問一句,這比賽都是咋了,日期老撞在一塊,藍橋杯省賽和天梯賽相差一天,藍橋杯國賽和河南省第十一屆ACM程式設計競賽相差一天,逼的大家行程很緊。*******藍橋杯省賽比賽完後感覺不是很好,結果發現自己在省一等獎的中間,很開心還能參加個國賽,去北京玩兩天。

2017山東省第八屆acm總結

        作為一個即將退役的大三隊員,這屆省賽對我來說就是最後一次比賽了,同時也是最重要的一次比賽。在去年的省賽中,我們隊發揮的不理想,沒拿到獎牌,因此今年就是最後的機會,我們隊在這一年中也準備了很多,其中也有過放棄,失望等時期,不過好在最後都堅持下來了。其中對我來說

2017安徽ACMF題解

//思路:在外圍加一層點,然後進行dfs遍歷#include <stdio.h> #include <string.h> using namespace std; char str[500][500]; char str1[500][500]; int

第八屆山東ACMF題-quadratic equation

圖片 註意 col sam num spa code pan follow 這個題困擾了我長達1年多,終於在今天下午用兩個小時理清楚啦 要註意的有以下幾點: 1.a=b=c=0時 因為x有無窮種答案,所以不對 2.註意精度問題 3.b^2-4ac<0時也算對 Prob

2017 山東acm

省賽終於結束了。經過了重重選拔。經過了一個月的煎熬磨練。 每天睜眼閉眼都是程式碼。(和女票的時間不算)重複感冒了兩次。從省賽選拔快開始,連人都組不齊的我和胖子。把所有能想到的人問了又問,想了又想。如果

2017-山東省第八屆ACM

     從第一次的懵懂,第二次的遺憾,到今年的首銀,這已經是第三次省賽之旅了_(:з」∠)_,第一次打星星,第二次錯失銀牌,這次感覺像是補回了上次銀牌的樣子?     時間回溯到幾天前,第一天熱

2017山東省ACM總結

前言:     這次省賽是在青島科技大學,5月7號-8號。我們山東建築大學出了4個正式隊參加(隨著每屆省賽的正式名額的增加,我們學校已經沒必要出星花隊了,因為我們實驗室水平能夠參加省賽ACMer光正式隊就夠了-_-|)。 我們是週六(5月7號)一早6點多和山大的一塊拼車,坐