不知道错在哪里

/*
给定两个斐波那契表示数,要求用标准化表达方式表达
然后将这两个数加起来,和也用标准化方式表达
思路:显然要将这两个数先用十进制表示,和也用十进制表示
然后在转化成二进制即可
1 1 2 3 5 8 13 21 34
用贪心法能保证1不连续
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#define ll long long
using namespace std;
ll f[],a,b,c;
char buf[],s1[],s2[];
void init(){
f[]=;f[]=;
for(int i=;i<=;i++)
f[i]=f[i-]+f[i-];
} int ans1[],ans2[],ans3[],len1,len2,len3;
void solve(ll a,int *ans){//把a分解成斐波那契数列
for(int i=;i>=;i--){
if(a==) ans[-i]=;
else if(a>=f[i]){
ans[-i]=;
a-=f[i];
}
else ans[-i]=;
}
} int main(){
init();
while(scanf("%s %s",s1,s2)==){
memset(ans1,,sizeof ans1);
memset(ans2,,sizeof ans2);
memset(ans3,,sizeof ans3);
a=b=c=;
int Len1=strlen(s1);
int Len2=strlen(s2); for(int i=;i<Len1;i++)
a+=(s1[i]-'')*f[Len1-i];
for(int i=;i<Len2;i++)
b+=(s2[i]-'')*f[Len2-i]; c=a+b;
solve(a,ans1);
solve(b,ans2);
solve(c,ans3); /*for(int i=0;i<=39;i++)cout<<ans1[i];
puts("");
for(int i=0;i<=39;i++)cout<<ans2[i];
puts("");
for(int i=0;i<=39;i++)cout<<ans3[i];
puts("");*/ len1=len2=len3=;
while(ans1[len1]==)
len1++;
while(ans2[len2]==)
len2++;
while(ans3[len3]==)
len3++;
printf(" ");
for(int i=len3;i<len1;i++)
printf(" ");
for(int i=len1;i<=;i++)
printf("%d",ans1[i]);
puts(""); printf("+ ");
for(int i=len3;i<len2;i++)
printf(" ");
for(int i=len2;i<=;i++)
printf("%d",ans2[i]);
puts(""); printf(" ");
for(int i=len3;i<=;i++)
printf("-");
puts(""); printf(" ");
for(int i=len3;i<=;i++)
printf("%d",ans3[i]); puts("");
puts("");
}
return ;
}

poj2116 模拟题的更多相关文章

  1. poj 1008:Maya Calendar(模拟题,玛雅日历转换)

    Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 D ...

  2. poj 1888 Crossword Answers 模拟题

    Crossword Answers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 869   Accepted: 405 D ...

  3. CodeForces - 427B (模拟题)

    Prison Transfer Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Sub ...

  4. sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)

    The Android University ACM Team Selection Contest Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里 ...

  5. 全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中

    题目名称 正确答案  序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer. ...

  6. UVALive 4222 Dance 模拟题

    Dance 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...

  7. cdoj 25 点球大战(penalty) 模拟题

    点球大战(penalty) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/2 ...

  8. Educational Codeforces Round 2 A. Extract Numbers 模拟题

    A. Extract Numbers Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/600/pr ...

  9. URAL 2046 A - The First Day at School 模拟题

    A - The First Day at SchoolTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...

随机推荐

  1. JAVA进阶2

    间歇性混吃等死,持续性踌躇满志系列-------------第2天 1.父类子类继承(注:一个JAVA源文件中只能有一个public类,public 类的名字必须和这个编译单元的文件名完全相同,包括大 ...

  2. 假设result 是一个float型变量,value是一个int型变量。执行以下赋值语句以后,变量value将是什么类型?为什么?

    假设result 是一个float型变量,value是一个int型变量.执行以下赋值语句以后,变量value将是什么类型?为什么? 在执行这条语句的过程中,保存在vulue变量中的值被读取出来并转化为 ...

  3. 小玩意--自定义log记录

    之前在帮TCL运维项目时,因某些原因,决定单就经销商相关业务中摒弃经典的log4j日志,改为每日自定义生成并写入相关日志,我遂写了一个util,代码如下:p.s.实现的思路很简单,仅为每次需要记录时, ...

  4. 核心编程9 文件和文件的输入输出 (os模块)

    1  python内建函数open和file 文件打开方便读取:f = open('文件名','模式','缓冲模式')         #'r'读取,'w'写入(先清空后创建).'a'追加 详情文件模 ...

  5. OVS-----CentOS7上搭建基于Open vSwitch的VxLAN隧道实验

    一.关于VXLAN VXLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多. ...

  6. Netty实现简单UDP服务器

    本文参考<Netty权威指南> 文件列表: ├── ChineseProverbClientHandler.java ├── ChineseProverbClient.java ├── C ...

  7. 【运维】Dell R710如何做Raid0与Raid5

    [写在前面]         这次是在戴尔服务器R710上面尝试的做Raid0和Raid5,亲测成功.         因为创建Raid0与Raid5的方式是一样的,所以就以创建Raid5为例. 1, ...

  8. 基于React 的前端UI开发框架 及与Electron 的结合 https://cxjs.io/

    1.cxjs  基于React 的前端UI开发框架    https://cxjs.io/ coreu   http://coreui.io/ 2.antd-admin                ...

  9. 使用sudo而无需输入密码的设置

    在linux上,root用户是老大,什么事都能做.但是,很多时候由于安全等各种原因,我们不希望把root用户开放给大家,但是又希望其他的用户可以有root的权限,所以就有了sudo用户.而执行sudo ...

  10. csrfguard3.1 部署笔记

    1:git clone 导入csrfguard 2:点击菜单栏View->Tool  Windows->Maven projects 3:Lifecycle clean build 4:t ...