特别大的数add
来源:互联网 发布:淘宝小智外设店名字 编辑:程序博客网 时间:2024/04/27 19:38
#include <stdio.h>
#include<stdlib.h>
#include "string.h"
#include "malloc.h"
int* invert(int * p,int index)
{
int i = 0;
int len = index /2;
for (i ; i< len ; i ++)
{
int t;
t = p[i] ;
p[i] = p[index - i -1];
p[index - i -1]= t;
}
return p;
}
int add_fr(int * p, int * p1,int* maxNum,int *result)
{
int i =0 ;
int t = 0 ;
static int div =0;
bool flag = false;
bool flag_1 = false;
static int num = 0;
for (i = 0; i<*maxNum; i ++)
{
t = div + p[i] + p1[i];
if (t < 10)
{
result[i] = t;
div = 0;
}
else
{
int res;
res = t % 10;
div = t / 10;
result[i] = res;
}
if (i == * maxNum -2 && (t >= 10))
{
flag = true;
}
if (i == *maxNum - 1 && (t >=10))
{
flag_1 = true;
}
if (flag && flag_1)
{
* maxNum += 1;
flag = false;
flag_1 = false;
result[*maxNum -1]= 1;
}
if (flag_1 && flag == false)
{
break;
}
}
return 0;
}
int main()
{
int i;
int num1 = 0;
int num2 = 0;
char cc1[100] = {0};
char cc2[100] = {0};
int b[100];
int b1[100];
int * p = NULL;
int * p1= NULL;
int * result = NULL;
int maxNUm= 0;
int *pNum= NULL;
gets(cc1);
gets(cc2);
memset(b,0, sizeof(b));
memset(b1,0,sizeof(b1));
pNum = &maxNUm;
for (i = 0;cc1[i]!='\0' ;i ++)
{
b[i] = cc1[i]- '0';
num1++;
}
for (i= 0;cc2[i] !='\0'; i ++)
{
b1[i] =cc2[i]- '0';
num2 ++;
//printf(" %d ", b1[i]);
}
if (num1 >num2)
{
*pNum = num1;
}
else
{
*pNum = num2;
}
p = b;
p1 = b1;
result =(int * )malloc(sizeof(int ) * 1000);
memset(result,0, sizeof(int ) * 1000);
invert( p,num1);
invert( p1,num2);
add_fr(p, p1,pNum,result);
invert( result,*pNum);
//printf("p = %d, p1 = %d, res= %d , pNum= %d \n", p[0],p1[0], result[0], *pNum);
i= 0;
for (i; i< *pNum; i++)
{
printf("%d ",result[i]);
}
getchar();
free(result);
return 0;
}
- 特别大的数add
- <c++>两个特别大的数之间相乘怎么计算?
- 特别的幸运数
- 1297 特别的幸运数
- 特别大的数的阶乘问题,利用BigInteger进行运算
- 今年的雪,特别的大
- 22.特别的幸运数 (15分)
- 特别大的数字比较大小
- 杭电4548 好长的筛选素数,打表,细节特别要注意l代表后面的大的那个数
- Excel的文件打开特别慢,xls文件特别大解决一例
- 【致自己】如果你发现这件事怎么特别难,那么有可能这次的收获,特别大
- Android 特别大的Activity和Fragment的生命周期图
- 特别的幸运数——解题报告
- 蓝桥杯训练中的特别的幸运数问题
- 2010.11.10_为什么今年的工作压力特别大
- 系统svchost占用内存特别大的处理
- 数据库导出后的.SQL文件特别大,问题解决
- Asp.net连接Mongodb查询时没有限制条数,造成数据量特别大
- Centos系统下安装SVN服务器方法介绍(非常详细)
- 24.二叉树中和为某一值的路径
- 两步破解IntelliJ IDEA 教程(终极版)
- Android UsageStatsManager的简单使用
- mysql 索引
- 特别大的数add
- 图像视频编辑窗口中绘制矢量图形输出到任意分辨的图形规范化方法
- 通过一个数组找到每个元素对应出现的次数
- 光敏电阻测试数码管显示
- 推箱子小游戏实现
- Intel Edison 基础开发之配置第一个小程序
- [推荐算法]ItemCF,基于物品的协同过滤算法
- Mysql 之查看死锁
- 两个栈实现队列