水题 HDU 1002
来源:互联网 发布:linux 配置vsftp 编辑:程序博客网 时间:2024/06/07 08:55
自己懵懵懂懂浑浑噩噩已经把大学的一小半过了,平时很懒惰,什么东西都按部就班,过这样的生活也实在没意思,暑假的时候搞了一段时间的ACM算是自己搞的比较有意义的事情吧! 今天这道A+B的水题,算是自己的一个新的开始,自己从鞍山回来之后就没有刷过题,在今天想要有个新的改变,嗯,就这样。
题目:HDU 1002 大数A+B 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1002
import java.math.*;import java.util.*;/** * * @author lao */public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here BigInteger a,b; int T; Scanner in=new Scanner(System.in); T=in.nextInt(); for(int i=1;i<=T;i++) { System.out.println("Case "+i+":"); a=in.nextBigInteger(); b=in.nextBigInteger(); if(i<T) { System.out.println(a+" + "+b+" = "+a.add(b) ); System.out.println(); } else System.out.println(a+" + "+b+" = "+a.add(b) ); } } }
用java来写这道题实在是太管用了,大数有专门的BigInteger类,实现非常方便。注意类名要用Main.java
#include <iostream>#include<cstdio>#include<cstring>using namespace std;#define maxn 1010char arr1[maxn],arr2[maxn];int num1[maxn],num2[maxn],res[maxn],len_1,len_2;void big_add(){ int ad=0; int res_len=len_1>len_2?len_1:len_2; res_len++; for(int i=0;i<res_len;i++) { res[i]=num1[i]+num2[i]+ad; ad=res[i]/10; res[i]=res[i]%10; }}int main(){ int T; scanf("%d",&T); for(int cas=1;cas<=T;cas++) { scanf("%s",arr1); scanf("%s",arr2); len_1=strlen(arr1); len_2=strlen(arr2); memset(num1,0,sizeof(num1)); memset(num2,0,sizeof(num2)); memset(res,0,sizeof(res)); int c=0; for(int i=len_1-1;i>=0;i--) num1[c++]=arr1[i]-'0'; c=0; for(int i=len_2-1;i>=0;i--) num2[c++]=arr2[i]-'0'; big_add(); printf("Case %d:\n",cas); printf("%s + %s = ",arr1,arr2); int temp=maxn-1; for(;temp>=0;temp--)if(res[temp])break; if(temp==-1) printf("0"); else {for(int j=temp;j>=0;j--)printf("%d",res[j]); } printf("\n"); if(cas<T) printf("\n"); } return 0;}
用C++来写的话基本算是一道模拟题了,用2个char型数组保存 输入的大数,用整型数组逆向保存每位的数字,模拟一遍就可以过了。要注意一些小细节的东西。
0 0
- 水题 HDU 1002
- HDU 1002
- hdu 1002
- HDU-1002
- hdu 1002
- HDU 1002
- HDU 1002
- hdu 1002
- hdu 1002
- hdu 1002
- hdu 1002
- HDU 1002
- hdu 1002
- hdu 1002
- hdu 1002
- HDU 1002
- HDU 1002
- hdu 1002
- Hack 15 移除背景提升activity的启动速度
- 应用请求web服务器的过程详解
- 睡前志
- Linux shell awk 流程控制语句(if,for,while,do)详细介绍
- 什么是光学防抖
- 水题 HDU 1002
- Hack 5 用TextSwitcher实现文字切换动画
- 关于Hibernate一对多、多对一(单向一对多)、双向一对多的一些个人理解。
- OC基础语法<1.2> 入门面向对象语法-构造方法和description
- 在listview中嵌入viewpager带来的卡顿问题及解决
- java 导入时 提示 some projects were hidden because they exist in the workspace directory。
- android 消息更新提示动画
- tomcat出现警告信息WARN DTDEntityResolver:73的解决办法
- Distinct Subsequences