问题 R: A+B

题目描述

I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.

A,B must be positive.

输入

The
first line of the input contains an integer T(1<=T<=20) which
means the number of test cases. Then T lines follow, each line consists
of two positive integers, A and B. Notice that the integers are very
large, that means you should not process them by using 32-bit integer.
You may assume the length of each integer will not exceed 1000.

输出

For
each test case, you should output two lines. The first line is "Case
#:", # means the number of the test case. The second line is the an
equation "A + B = Sum", Sum means the result of A + B. Note there are
some spaces int the equation.

样例输入

2
1 2
112233445566778899 998877665544332211

样例输出

Case 1:
1 + 2 = 3
Case 2:
112233445566778899 + 998877665544332211 = 1111111111111111110
#include<stdio.h>
#include<string.h>
int main() {
    int i,j,k,m,n,t,a[1002],len;
    char s1[1001],s2[1001];
    scanf("%d",&t);
    for(n=0;n<t;n++) {
        scanf("%s%s",s1,s2);
        len=(strlen(s1)>=strlen(s2)?strlen(s1):strlen(s2));
            for(i=0;i<len+1;i++)
                a[i]=0;
                m=0;
                for(i=strlen(s1)-1,j=strlen(s2)-1;i>=0&&j>=0;i--,j--){
                    k=s1[i]+s2[j]-2*‘0‘;
                    if(k>=10) {
                        a[m++]+=k%10;
                        a[m]++;
                    }
                    else {
                        a[m++]+=k;
                        if(a[m-1]>=10) {
                            a[m]++;
                            a[m-1]%=10;
                        }
                    }
                }
                if(i>=0) {
                    for(j=i;j>=0;j--) {
                        k=s1[j]-‘0‘;
                        if(k>=10) {
                            a[m++]+=k%10;
                            a[m]++;
                        }
                        else{
                            a[m++]+=k;
                            if(a[m-1]>=10) {
                            a[m]++;
                            a[m-1]%=10;
                            }
                        }
                    }
                }
                else if(j>=0) {
                    for(i=j;i>=0;i--){
                        k=s2[i]-‘0‘;
                        if(k>=10) {
                            a[m++]+=k%10;
                            a[m]++;
                        }
                        else {
                            a[m++]+=k;
                            if(a[m-1]>=10) {
                                a[m]++;
                                a[m-1]%=10;
                            }
                        }
                    }
                }
    printf("Case %d:\n",n+1);
    printf("%s + %s = ",s1,s2);
    if(a[m]>0)
        m++;
        for(i=m-1;i>=0;i--)
            printf("%d",a[i]);
            if(n!=t-1)
                printf("\n");
    }
    return 0;
}
时间: 2024-10-24 06:53:05

问题 R: A+B的相关文章

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

R语言学习-词频分析

概念 1.语料库-Corpus 语料库是我们要分析的所有文档的集合,就是需要为哪些文档来做词频 2.中文分词-Chinese Word Segmentation 指的是将一个汉字序列切分成一个一个单独的词语. 3.停用词-Stop Words 数据处理的时候,自动过滤掉某些字或词,包括泛滥的词如Web.网站等,又如语气助词如的.地.得等. 需要加载的包 1.tm包 安装方式:install.packages("tm") 语料库: Corpus(x,readerControl) x-语料

R语言使用机器学习算法预测股票市场

quantmod 介绍 quantmod 是一个非常强大的金融分析报, 包含数据抓取,清洗,建模等等功能. 1. 获取数据 getSymbols 默认是数据源是yahoo 获取上交所股票为 getSymbols("600030.ss"), 深交所为 getSymbols("000002.sz").  ss表示上交所, sz表示深交所 2. 重命名函数 setSymbolLookup 3. 股息函数 getDividends 4. 除息调整函数 adjustOHLC

R语言数据挖掘实战系列(2)

二.R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,具有免费.多平台支持,同时可以从各种类型的数据源中导入数据,具有较高的开放性以及高水准的制图功能.R是一个体系庞大的应用软件,主要包括核心的R标准包和各专业领域的其他包.R在数据分析.数据挖掘领域具有特别优势. R安装 R可在其主页(https://www.r-project.org/)上获得,根据所选择的平台进行下载安装.安装完成之后启动R.为了方便使用R,可使用免费的图形界面编辑器RStudio,可从https://www.r

R语言常用的软件包

> update.packages() --- Please select a CRAN mirror for use in this session --- CRAN mirror 1: 0-Cloud [https]                     2: 0-Cloud 3: Algeria [https]                     4: Algeria 5: Argentina (La Plata)                6: Australia (Canbe

R安装部署

1.yum install -y  readline-devel  gcc*  libXt-devel   openssl* 2.下载编译安装zlib   wget http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz    tar -zxvf zlib-1.2.8.tar.gz    cd zlib-1.2.8    ./configure --prefix=/opt/zlib-1.2.8    ma

【R】数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)

函数 read.table 是读取矩形格子状数据最为便利的方式.因为实际可能遇到的情况比较多,所以预设了一些函数.这些函数调用了 read.table 但改变了它的一些默认参数.  注意,read.table 不是一种有效地读大数值矩阵的方法:见下面的 scan 函数. 一些需要考虑到问题是: 编码问题 如果文件中包含非-ASCII字符字段,要确保以正确的编码方式读取.这是在UTF-8的本地系统里面读取Latin-1文件的一个主要问题.此时,可以如下处理 read.table(file("fil

Ubuntu 16.04 LTS 安装R及RStudio Server

1.R的安装 1.1首先添加镜像源 # Ctrl+Alt+T打开终端 $ sudo gedit /etc/apt/sources.list # 加入新镜像源 回车之后会自动跳出一个文本框,然后在相似的地方输入 deb http://cran.rstudio.com/bin/linux/ubuntu trusty/ 加载镜像源还可以使用以下方法: deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu xenial/ deb https://

利用图形窗口分割法将极坐标方程:r=cos(θ/3)+1/9用四种绘图方式画在不同的窗口中

利用图形窗口分割法将极坐标方程:r=cos(θ/3)+1/9用四种绘图方式画在不同的窗口中. 解:MATLAB指令: theta=0:0.1:6*pi;rho=cos(theta/3)+1/9; >> polar(theta,rho) >> >> plot(theta,rho) >> semilogx(theta,rho) >> grid >> hist(rho,15) 结果分别如下图: 图1 图2 图3 图4