Problem Description
读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……
 
Input
测试输入包含若干测试用例,每个测试用例占一行,包含两个火星正整数A和B,火星整数的相邻两位数用逗号分隔,A和B之间有一个空格间隔。当A或B为0时输入结束,相应的结果不要输出。
 
Output
对每个测试用例输出1行,即火星表示法的A+B的值。
 
Sample Input
1,0 2,1
4,2,0 1,2,0
1 10,6,4,2,1
0 0
 
Sample Output
1,0,1
1,1,1,0
1,0,0,0,0,0
 #include <cstdio>
int prime[]={};
void init(void)
{
int i,j,n;
for(i=,n=;i<;i++)
{
for(;;n++)
{
for(j=;j<=n/;j++)
{
if(n%j==)
break;
}
if(j>n/)
{
prime[i]=n++;
break;
}
}
}
}
int main()
{
char str[];
int i,j;
init();
while(gets(str)!=NULL) //scanf不接受空格
{
int a[]={},b[]={},s[]={},n=,la=,lb=;
for(i=;;i++)
{
if(str[i]==',')
{
a[la++]=n;
i++;
n=;
}
else if(str[i]==' ')
{
a[la++]=n;
for(i++,n=;;i++)
{
if(str[i]=='\0')
{
b[lb++]=n;
break;
}
if(str[i]==',')
{
b[lb++]=n;
i++;
n=;
}
n=n*+str[i]-'';
}
break;
}
n=n*+str[i]-'';
} for(la--,lb--,i=;la>=&&lb>=;la--,lb--,i++)
{
s[i] += a[la]+b[lb];
if(s[i]>=prime[i])
{
s[i+]=s[i]/prime[i];
s[i]=s[i]%prime[i];
}
if(la==&&lb!=)
{
for(lb--,i++;lb>=;lb--,i++)
{
s[i] += b[lb];
if(s[i]>=prime[i])
{
s[i+]=s[i]/prime[i];
s[i]=s[i]%prime[i];
}
}
break;
}
else if(lb==&&la!=)
{
for(la--,i++;la>=;la--,i++)
{
s[i] += a[la];
if(s[i]>=prime[i])
{
s[i+]=s[i]/prime[i];
s[i]=s[i]%prime[i];
}
}
break;
}
}
for(i=;s[i]==;i--);
for(;i>=;i--)
{
printf(i==?"%d\n":"%d,",s[i]);
}
}
return ;
}

HDU_1230——火星A+B,加法进制问题的更多相关文章

  1. 九度OJ 1016:火星A+B (进制转换)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4913 解决:1334 题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的, ...

  2. 火星A+B(字符串整形转化,进制)

    Description 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上记为“1,0”, ...

  3. 火星A+B(hdu1230)进制转化

    火星A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  4. PAT(B) 1044 火星数字(Java)进制转换

    题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...

  5. B进制加法(洛谷1604)

    分析:码农题,照这模拟就行,高精度的B进制,注意字符串反转的技巧. #include <iostream> #include <cstdio> #include <cst ...

  6. N进制加法

    我是网络公司的一名普通程序员,英文名Steven,发音比较像“师弟”,自从入职培训自我介绍后,大家就称我为“二师弟”,我喜欢看科幻小说,也喜欢做梦,有一次梦到外星球,发现外星人使用的并非10进制/16 ...

  7. hdu2100 26进制加法

    题意:       给你两个26进制数,让你算出他们两个的和. 思路:      水题不解释了,注意这样的数据 AAA AAA 输出A #include<stdio.h> #include ...

  8. 洛谷 P1952 火星上的加法运算_NOI导刊2009提高(3)

    P1952 火星上的加法运算_NOI导刊2009提高(3) 题目描述 最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限.她想向你求助,作为一位优秀的程序员,你当然不会拒 ...

  9. 【t079】火星上的加法运算

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限,想向你求助,作为一名 ...

随机推荐

  1. HDU 2896 AC自动机 裸题

    中文题题意不再赘述 注意字符范围是可见字符,从32开始到95 char c - 32 #include <stdio.h> #include <string.h> #inclu ...

  2. 怎样绕过oracle listener 监听的password设置

     怎样绕过oracle 监听的password设置: 1.找到监听进程pid ,并将它kill 掉 ps -ef|grep tns [oracle@lixora admin]$ ps -ef|gr ...

  3. [转] 为什么医疗咨询服务公司Evolent Health仅用4年就华丽上市?

    让医疗主体,即医院和医生担任保险角色,完全控制保费,实现医疗机构的利益最大化.美国公司EvolentHealth帮助所有医院实现这一梦想. 不觉间,已步入2015的下半年.当国内还在讨论商业保险何时能 ...

  4. ASP.NET MVC 文件异步上传问题处理

    最近在做一个网站,用asp.net MVC4.0来开发,今天遇到了个小问题,通过查找相关渠道解决了,在这里把这个问题写出来,问题非常简单,不喜勿喷,mark之希望可以给遇到相同问题的初学者一点帮助.我 ...

  5. select 响应时间 js

    HTML form select表单标签案例代码如下: 跳转菜单的需要放在head头部标签内的JS脚本代码:<script type="text/javascript"> ...

  6. 自定义Toast

    简易自定义Toast public class MainActivity extends ListActivity );//边角         gradientDrawable.setGradien ...

  7. spring01

                                                                       spring的体系结构图 第一个spring入门例子 01.创建一 ...

  8. 腾讯云(centos7)上安装并配置PHP

    1.查看yum上的php $ yum list php Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cach ...

  9. wxpython下的桥梁信息管理系统

    github地址:https://github.com/billiepander/BIMS 第一版: 现在实现了登陆,与部门级别用户录入桥梁检测信息后保存为excel(后期要用数据库存一些关键信息,为 ...

  10. android中控件的使用

    http://www.cnblogs.com/linjiqin/category/284058.html