练习场 1253 Turing equation
2016-07-27 21:27
330 查看
题意:给你一个等式,里面的数据都是反向的,然后问你计算结果是否正确!
解法:简单字符串题。
解法:简单字符串题。
#include<bits/stdc++.h> using namespace std; int main() { char str[55]; while(scanf("%s",str)!=EOF) { char a[10],b[10],c[10]; int len=strlen(str),k=0,j,la,lb,lc; for(int i=0;i<len;i++) { if(str[i]!='+') a[k++]=str[i]; else { la=i; break; } } a[la]='\0'; k=0; for(int i=la+1;i<len;i++) { if(str[i]!='=') b[k++]=str[i]; else { j=i; break; } } lb=j-la-1; b[lb]='\0'; if(la>lb) { for(int i=lb;i<la;i++) b[i]='0'; lb=la; b[la]='\0'; } if(la<lb) { for(int i=la;i<lb;i++) a[i]='0'; la=lb; a[lb]='\0'; } k=0; for(int i=j+1;i<len;i++) c[k++]=str[i]; lc=k; c[k]='\0'; if(a[0]=='0'&&la==1&&b[0]=='0'&&lb==1&&c[0]=='0'&&lc==1) break; int sum,car=0; char s[25]; for(int i=0;i<la;i++) { sum=a[i]-'0'+b[i]-'0'+car; car=sum/10; sum%=10; s[i]=sum+'0'; } if(car) { s[la]=1+'0'; s[la+1]='\0'; } else s[la]='\0'; int s1=0,s2=0; for(int i=la-1;i>=0;i--) s1=s1*10+s[i]-'0'; for(int i=k-1;i>=0;i--) s2=s2*10+c[i]-'0'; if(s1==s2) printf("TRUE\n"); else printf("FALSE\n"); } return 0; }
相关文章推荐
- tjut 4630
- 从1到n整数中1出现的次数
- 10009---怎么查看linux版本
- Memcache的最佳实践方案
- 认识Servlet
- 10009---压力测试之badboy和Jmeter的简单使用方法
- HDU 1241 Oil Deposits(深搜基础模板)
- 什么东西只花十分钟,但是受益终身
- laravel5数据库操作
- Ionic环境搭建
- 使用class-dump导出其他应用头文件
- JSTL的配置与使用
- 奇怪的问题,列名无效
- Codeforces-448【A数学函数ceil】【B思维】【D二分】
- Redis 和 Memcache 的性能对比基础篇
- 项目安排[动态规划]
- 基于spark的DataFrame实战
- Struts2的三种参数传递方式
- HDOJ 1551 Cable master
- JAVA中实现链式操作(方法链)的简单例子