博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
河南省第十届省赛 Binary to Prime
阅读量:4950 次
发布时间:2019-06-11

本文共 1863 字,大约阅读时间需要 6 分钟。

题目描述:

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.

样例输入:

000010001111001

样例输出:

3520

分析:

给出一个二进制的序列,逆着看这个序列,输出每个‘1’位上对应的素数.

例如: 01101

逆着看的话为1的分别为第一位,加上第一个素数2

第三位,加上第三个素数5                                     第四位,加上第四个素数7

最终结果为2+5+7=14

代码:

#include 
#include
#include
#include
#include
#include
using namespace std;char st[160];bool vis[2000];int s[2000];using namespace std;void Shusu()///首先把素数表给打印出来{ int i,j; for(i=2; i<=3000; i++) { for(j=i+i; j<=3000; j+=i) { if(!vis[j]) { vis[j] = true; } } } int k = 0; for(i=1; i<=3000; i++) { if(vis[i]==false) { s[k++] = i; } } }int main(){ memset(vis,false,sizeof(vis)); Shusu(); while(scanf(" %s",st)!=EOF) { int i; long long sum = 0; int len = strlen(st); for(i=1; i<=len; i++) { if(st[len-i]=='1')///然后直接加上每一位对应的素数就行 { sum += s[i]; } } printf("%lld\n",sum); } return 0;}

转载于:https://www.cnblogs.com/cmmdc/p/6887901.html

你可能感兴趣的文章
python 进程间通信
查看>>
字符串和编码
查看>>
servlet(一)
查看>>
异常实验
查看>>
python \r与\b的应用、光标的含义
查看>>
深拷贝 vs 浅拷贝 释放多次
查看>>
Java环境变量PATH和CLASSPATH
查看>>
ERROR:bokeh.core.validation.check:E-1001 (BAD_COLUMN_NAME) 就是补存在这个列名
查看>>
assert 的作用是什么?
查看>>
收藏夹(持续更新)
查看>>
iOS中的#import和class区别
查看>>
节约内存,请使用标签页管理工具:onetab、better onetab
查看>>
jQuery中的事件与动画
查看>>
页面加载骨架
查看>>
关于android系统不关屏设置
查看>>
SONY VPCS138EC降级安装XP
查看>>
[luogu4201][bzoj1063]设计路线【树形DP】
查看>>
手机抓包-手机劫持域名到指定服务器
查看>>
被放逐的皇后 金建云
查看>>
Javascript 有用参考函数
查看>>