题目链接:http://ac.jobdu.com/problem.php?pid=1016

详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus

参考代码:

//
// 1016 火星A+B.cpp
// Jobdu
//
// Created by PengFei_Zheng on 28/04/2017.
// Copyright © 2017 PengFei_Zheng. All rights reserved.
// #include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <cstring>
#include <cmath>
#define MAX_PRIME 30
#define MAX_SIZE 26
//#define debug using namespace std; int prime[MAX_PRIME]; bool isPrime(int x){
if(x<=) return false;
if(x==) return true;
int tmp = sqrt(x)+;
for(int i = ; i <= tmp ; i++){
if(x%i==)
return false;
}
return true;
} void calPrime(){
int num = ;
for(int i = ; num< ; i++){
if(isPrime(i)){
num++;
prime[num] = i;
}
}
} int a[MAX_SIZE];
int b[MAX_SIZE];
int sum[MAX_SIZE];
char c;
int lena, lenb, i, j; void init(){
memset(a, , sizeof(a));
memset(b, , sizeof(b));
memset(sum, , sizeof(sum));
c=' ';
lena=lenb=i=j=;
}
int main(){
calPrime();
#ifdef debug
for(int i = ; i < MAX_PRIME ; i++){
cout<<i<<" is : "<<prime[i]<<endl;
}
#endif
// freopen("/Users/pengfei_zheng/Desktop/input.txt", "r", stdin);
while(){
init();
char c; for(i = ; i < MAX_SIZE ; i++){
scanf("%d",&a[i]);
scanf("%c",&c);
if(c==' ')break;
}
lena = i;
for(j = ; j < MAX_SIZE ; j++){
scanf("%d",&b[j]);
scanf("%c",&c);
if(c=='\n')break;
}
lenb = j;
if(a[]== && b[]==)
break; int maxLen = lena>=lenb ? lena : lenb; int carry=;
int len = maxLen;
int x,y;
for(i = ; i <= maxLen; i++){
if(lena>=) x=a[lena--];
else x=;
if(lenb>=) y=b[lenb--];
else y=;
sum[len--]=(x+y+carry)%prime[i];
carry=(x+y+carry)/prime[i];
}
if(carry!=){
printf("%d,",carry);
}
for(i = ; i < maxLen ; i++){
printf("%d,",sum[i]);
}
printf("%d\n",sum[maxLen]);
}
return ;
}
/**************************************************************
Problem: 1016
User: zpfbuaa
Language: C++
Result: Accepted
Time:10 ms
Memory:1532 kb
****************************************************************/

题目1016:火星A+B(进制新问题)的更多相关文章

  1. PAT 1015 Reversible Primes (20分) 谜一般的题目,不就是个进制转换+素数判断

    题目 A reversible prime in any number system is a prime whose "reverse" in that number syste ...

  2. 九度OJ题目1080:进制转换(java)使用BigInteger进行进制转换

    题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成 ...

  3. 九度oj 题目1080:进制转换

    题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成 ...

  4. 【九度OJ】题目1080:进制转换 解题报告

    [九度OJ]题目1080:进制转换 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1080 题目描述: 将M进制的数X转换为 ...

  5. 九度OJ 1340:小A的计算器 (进制转换)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:735 解决:202 题目描述: 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-2 ...

  6. PAT甲级——1100 Mars Numbers (字符串操作、进制转换)

    本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90678474 1100 Mars Numbers (20 分) ...

  7. - >code vs 1475 m进制转十进制

    1475 m进制转十进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将m进制数n转化成一个 ...

  8. wikioi 1475 m进制转十进制

    /*===================================== 1475 m进制转十进制 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转 ...

  9. NYOJ-244 16进制的简单运算 AC 分类: NYOJ 2014-01-17 21:11 195人阅读 评论(0) 收藏

    #include<stdio.h> int main() { long x,y; char op; int t; scanf("%d ", &t); while ...

随机推荐

  1. SecureCRT同时发送命令到所有主机

    有时候我们需要在多台服务器上执行相同的命令,比如安装软件,复制,粘贴,删除等等,但一台一台的去操作工作量就太大了,我们可以借助SecureCRT这款客户端远程连接工具实现这样的要求! 相关阅读: 如何 ...

  2. CentOS 7 安装、配置、使用 PostgreSQL 10 安装及基础配置

    官网安装方法:https://www.postgresql.org/download/linux/redhat/ 卸载的话使用 yum remove 相应的安装 Install the reposit ...

  3. YII2 设置session过期时间

    设置session过期时间 如何在YII里设置SESSION过期时间,而不需要在php.ini里面设置. 在protected/config/main.php里,设置: 代码如下 复制代码 'comp ...

  4. iOS: UIScrollView pauses NSTimer while scrolling

    StackOverflow http://stackoverflow.com/a/7059499 Question:I have a UIScrollView that has a series of ...

  5. vuex在页面中以对象展开运算符形式引入报错解决

    当页面中以mapGetters等对象扩展运算符写的时候,会报错 unexpected token 解决如下: babel还要加插件才能解释这个写法 npm install --save-dev bab ...

  6. ubuntu-16.04.1-desktop-amd64.iso:ubuntu-16.04.1-desktop-amd64:安装Oracle11gR2

    特点: 使用ubuntu-16.04.1-desktop-amd64.iso liveCD模式 + Casper-rw 本地文件 不降级默认的gcc版本,(liveCD 自带默认为 gcc 5.4): ...

  7. 安装 运行yum报错:No module named yum

    报错情况: There was a problem importing one of the Python modulesrequired to run yum. The error leading ...

  8. 在Linux上安装SVN服务

    1.安装SVNyum install subversion 2.查看版本svnserve --version3.创建目录mkdir -p /web/svndata3.创建repo测试库svnadmin ...

  9. Android测试跑单个包脚本文件

    脚本: adb shell monkey -p 应用包名 --throttle 随机事件间隔 -v -v -v -s 1 --ignore-security-exceptions --kill-pro ...

  10. 假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素

    方法一:位图法,原理是首先申请一个长度为n且均为’0’组成的字符串,字符串的下标即为数组a[]中的元素,然后从头开始遍历数组a[N],取每个数组元素的值,将其对应的字符串中的对应位置置1,如果已经置过 ...