题目1016:火星A+B(进制新问题)
题目链接: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(进制新问题)的更多相关文章
- PAT 1015 Reversible Primes (20分) 谜一般的题目,不就是个进制转换+素数判断
题目 A reversible prime in any number system is a prime whose "reverse" in that number syste ...
- 九度OJ题目1080:进制转换(java)使用BigInteger进行进制转换
题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成 ...
- 九度oj 题目1080:进制转换
题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成 ...
- 【九度OJ】题目1080:进制转换 解题报告
[九度OJ]题目1080:进制转换 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1080 题目描述: 将M进制的数X转换为 ...
- 九度OJ 1340:小A的计算器 (进制转换)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:735 解决:202 题目描述: 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-2 ...
- PAT甲级——1100 Mars Numbers (字符串操作、进制转换)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90678474 1100 Mars Numbers (20 分) ...
- - >code vs 1475 m进制转十进制
1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将m进制数n转化成一个 ...
- wikioi 1475 m进制转十进制
/*===================================== 1475 m进制转十进制 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转 ...
- 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 ...
随机推荐
- spark shell学习笔记
http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html
- 移植最新Uboot到JZ2440开发板
下载最新版U-boot,建立Source Insight工程,在建立工程的时候注意,去掉一些很明显不属于硬件的分支代码. 例如,arch目录下面的除开arm子目录之外的其他目录,都可 ...
- LoadRunner javavuser错误排查
Loadrunner 9.5/11 使用java 开发vsuer script需要的环境配置 本文从两个方面来讲:windows 32位操作系统:windows 64 操作系统开始之前,先说下java ...
- 本文将详细介绍oracle 10g OEM常规错误
本文将详细介绍oracle 10g OEM常规错误-------Unknown host specified解决方法,需要了解的朋友可以参考下 详细出处参考:http://www.jb51.net/a ...
- js简单Base64编码解码
var str = 'javascript'; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2Y ...
- java中字符串太长,怎么自动换到下一行
直接在中间代码出按回车
- ubuntu-16.04.2-desktop-amd64.iso:安装Oracle11gR2
特点: 使用ubuntu-16.04.2-desktop-amd64.iso 不降级默认的gcc版本,(liveCD 自带默认为 gcc 5.4):仅需要建立“gcc -Wl,--no-as-need ...
- unity, WaterProDaytime注意事项。
一,多个WaterProDaytime不要公用material. 原因是:水面material的shader(FXWaterPro.shader)引用了reflectionTexture,而水面1的r ...
- python内存泄漏,python垃圾手动回收,1
部署的舆情系统,内存变大,找原因. 一个小例子. def func(): local_list = list(range(10000000)) func() time.sleep(200) 能够观察到 ...
- SpringBoot------添加保存时自动编译插件
.右键Java项目 .选择“Spring Tools” 3.选择“Add Boot DevTools” 4.每次使用Ctrl + S键时就会自动编译了 实际上是在Pom.xml文件中添加了如下Java ...