NYOJ 527 AC_mm玩dota

2015-01-26 23:13:05 · 作者: · 浏览: 11

AC_mm玩dota

时间限制:1000 ms | 内存限制:65535 KB 难度:2
描述

大家都知道AC_mm比较喜欢玩游戏,特别是擅长war3这款经典游戏。某天AC_mm来到了VS平台上 ,准备去虐菜鸟,正巧一个不小心将我们ACM队长虐了 ^_^,我们的队长这下可不高兴了,说要出一道难题让AC_mm难堪一下。题目描述是这样的,给一个正整数n,n在二进制表示的情况下(不含前导0和符号位)有a个1和b个0,求斐波拉契数列的第a*b项对1314520取模后的值ans。

注意(斐波拉契数列: f[0]=1,f[1]=1; f[n]=f[n-1]+f[n-2] ; n>=2;)

输入
输入:有多组测试数据,输入一个正整数n(n<1000000000);
输出
输出:ans的值
样例输入
12
6
样例输出
5
2

本题思路简单,关键在于取二进制,转换,得出x*y,打表时取余。

#include
      
       
int a[260];
int s[40];
int shift1(int n)
{
	int num=1,i;
	s[0]=n%2;
	while(n/2!=0){
		n/=2;
		s[num++]=n%2;
	}
	int t;
	for(i=0;i<=num/2;i++)//这里num/2别写成num了
	{
		t=s[i];
		s[i]=s[num-1-i];
		s[num-1-i]=t;
	}
	
	int x=0,y=0;
	for(i=0;i
       
        
NYOJ上面的后台 数据库肯定有问题,不在打表时取余也可以过!!!

<script type="text/java script">
<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
您对本文章有什么意见或着疑问吗?请到 论坛讨论您的关注和建议是我们前行的参考和动力??
上一篇: [BZOJ 1057][ZJOI 2007]棋盘制作(最大全0/1子矩阵)
下一篇: 最后一页
相关文章
<script type="text/java script">BAIDU_CLB_fillSlot("182716");
<script type="text/java script">BAIDU_CLB_fillSlot("517916");
图文推荐
<iframe src="http://www.2cto.com/uapi.php?tid=358518&catid=339&title=TllPSiA1MjcgQUNfbW3N5mRvdGE=&forward=http://www.2cto.com/kf/201412/358518.html" width="100%" height="100%" id="comment_iframe" name="comment_iframe" frameborder="0" scrolling="no">
<script type="text/java script">BAIDU_CLB_fillSlot("771057");