hdu1865 1sting (递归+大数加法)
1sting
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6878 Accepted Submission(s): 2678

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int a[][];//因为是大数,一维数组并不能储存数字,所以用二维,后面用来分别储存大数的每个位数
int main()
{
int n,t;
int r,s,i;
r=;
memset(a,,sizeof(a));
a[][]=;
a[][]=;
for(i=;i<=;i++)//大数的加法
{
for(int j=;j<=;j++)//底位在数组前面,高位存在数组后面
{
s=a[i][j]+a[i+][j]+r;
a[i+][j]=s%;
r=s/;
}
}
scanf("%d",&t);
while(t--)
{
char str[];
cin>>str;
n=strlen(str);
if(n==)
printf("1\n");
else if(n==)
printf("2\n");
else
{
for(i=;i>=;i--)//从高位开始输出
if(a[n][i])
break; //当a[n][i]为0时跳出,此时的i即答案有几位数,进入下一步的输出
for(;i>=;i--)
printf("%d",a[n][i]);
printf("\n");
}
}
return ;
}
相同的题目:hdu5686
Problem B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1615 Accepted Submission(s): 665
1≤N≤200
如果序列是:(111)。可以构造出如下三个新序列:(111), (21), (12)。
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int a[][];//因为是大数,一维数组并不能储存数字,所以用二维,后面用来分别储存大数的每个位数
int main()
{
int n;
int r,s,i;
r=;
memset(a,,sizeof(a));
a[][]=;
a[][]=;
for(i=;i<=;i++)//大数的加法
{
for(int j=;j<=;j++)//底位在数组前面,高位存在数组后面
{
s=a[i][j]+a[i+][j]+r;
a[i+][j]=s%;
r=s/;
}
}
while( cin>>n)
{
if(n==)
printf("1\n");
else if(n==)
printf("2\n");
else
{
for(i=;i>=;i--)//从高位开始输出
if(a[n][i])
break; //当a[n][i]为0时跳出,此时的i即答案有几位数,进入下一步的输出
for(;i>=;i--)
printf("%d",a[n][i]);
printf("\n");
}
}
return ;
}
hdu1865 1sting (递归+大数加法)的更多相关文章
- 51nod 1005 大数加法
#include<iostream> #include<string> using namespace std; #define MAXN 10001 },b[MAXN]={} ...
- c#大数加法
在C#中,我们经常需要表示整数.但是,c#的基本数据类型中,最大的long也只能表示-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之间的数 ...
- 玲珑杯1007-A 八进制大数加法(实现逻辑陷阱与题目套路)
题目连接:http://www.ifrog.cc/acm/problem/1056 DESCRIPTION Two octal number integers a, b are given, and ...
- Leetcode 67 Add Binary 大数加法+字符串处理
题意:两个二进制数相加,大数加法的变形 大数加法流程: 1.倒置两个大数,这一步能使所有大数对齐 2.逐位相加,同时进位 3.倒置两个大数的和作为输出 class Solution { public: ...
- HDU1002大数加法
大数加法 c++版: #include <map> #include <set> #include <stack> #include <queue> # ...
- java实现大数加法、乘法(BigDecimal)
之前写过用vector.string实现大数加法,现在用java的BigDecimal类,代码简单很多.但是在online-judge上,java的代码运行时间和内存大得多. java大数加法:求a+ ...
- vector、string实现大数加法乘法
理解 vector 是一个容器,是一个数据集,里边装了很多个元素.与数组最大的不同是 vector 可以动态增长. 用 vector 实现大数运算的关键是,以 string 的方式读入一个大数,然后将 ...
- 【大数加法】POJ-1503、NYOJ-103
1503:Integer Inquiry 总时间限制: 1000ms 内存限制: 65536kB 描述 One of the first users of BIT's new supercompu ...
- A + B Problem II 大数加法
题目描述: Input The first line of the input contains an integer T(1<=T<=20) which means the number ...
随机推荐
- Lucene打分公式的数学推导
原文出自:http://www.cnblogs.com/forfuture1978/archive/2010/03/07/1680007.html 在进行Lucene的搜索过程解析之前,有必要单独的一 ...
- cocos2d-js 浏览器与JSB内存管理机制的不同
写这边文章的主要目的是为了理解使用cocos3d-js开发app时,浏览器调试与真机情况不一致的原因 一.浏览器中内存管理机制 HTML5版本运行时,整个游戏只存在JS脚本与一些必要的资源文件,这时候 ...
- 杭电acm 1108题
这是一道求两个整数最大公倍数的问题,题目比较简单.... 直接使用穷举法计算,数据不是很大.... #include "iostream" using namespace std; ...
- LeetCode第70题:爬楼梯
问题描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...
- 笔录---果壳中的C#第一章
---恢复内容开始--- 笔录---果壳中的C#第二章 2.1 第一个C#程序 1.C#语句按顺序执行,以“:”结尾. Console.WriteLine(); console 为类,Writ ...
- 2015年第六届蓝桥杯省赛T10 生命之树(树形dp+Java模拟vector)
生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都 ...
- javax.servlet.http.httpServletRequest接口
HttpServletRequest接口中常用的方法: - String getContentPath();//获取webapp根目录路径,如下图: 下面研究request到底是一个怎样的范围 ...
- wget下载jdk 蛋疼问题
wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com% ...
- JavaEE常用开发工具分享
链接:https://pan.baidu.com/s/1Jxd2Y45LhWAUHc8-dM_ukw 提取码:h50f
- ECS简介
https://www.cnblogs.com/yangrouchuan/p/7436533.html Unity下的ECS框架 Entitas简介 最近随着守望先锋制作组在gdc上发布的一个关于 ...