Basic remains POJ - 2305 同余模 高精度处理
题意 给出B(10以内大于0)进制下 p (1000位以内)和m(9位以内) 求 p%m 在b进制下等于什么
思路: 可以计算 1e9不会溢出Int所以m在int值以内 先求m 要处理p 每次取一位模刚刚的m即可(b^n 也要不停模)
坑点 : p可能等于0 这时候要输出0
#include<cstdio>
#include<cstring>
#include<vector>
#include<cmath>
#include<iostream>
using namespace std; char s1[],s2[];
vector<int>q;
int main(){
int b,p,m;
while(scanf("%d",&b)==&&b){
scanf("%s%s",s1,s2);
int len1=strlen(s1);
int len2=strlen(s2);
long long temp1=,temp2=;
q.clear();
// cout<<s1<<" "<<s2<<endl;
int zz=;
for(int i=len2-;i>=;i--){
temp2+=zz*(s2[i]-'');
zz*=b;
}
zz=; for(int i=len1-;i>=;i--){
temp1+=(zz*(s1[i]-''))%temp2;
// cout<<temp1<<endl;
temp1%=temp2;
zz*=b;
zz%=temp2;
}
//cout<<temp1<<temp2<<endl;
int ans=temp1%temp2;
//cout<<ans<<endl;
if(temp1==){
printf("0\n");
continue;
}
while(ans){
q.push_back(ans%b);
ans/=b;
}
for(int i=q.size()-;i>=;i--){
printf("%d",q[i]);
}
printf("\n"); }
return ;
}
Basic remains POJ - 2305 同余模 高精度处理的更多相关文章
- The Embarrassed Cryptographer POJ - 2635 同余模+高精度处理 +线性欧拉筛(每n位一起处理)
题意:给出两数乘积K(1e100) 和 一个数L(1e6) 问有没有小于L(不能等于)的素数是K的因数 思路:把数K切割 用1000进制表示 由同余模公式知 k%x=(a*1000%x+b* ...
- POJ 2305:Basic remains 进制转换
Basic remains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5221 Accepted: 2203 Des ...
- Basic remains java入门题
Basic remains input: b p m 读入p进制的p,m, 求p%m ,以b进制输出 1 import java.util.*; 2 import java.math ...
- POJ 2305 Basic remains(进制转换)
题目链接:http://poj.org/problem?id=2305 ime Limit: 1000MS Memory Limit: 65536K Total Submissions: 5326 ...
- poj 2305(指定进制,大数取模)
题意:输入一个进制b,在输入两个基于b进制的大整数 x,y ,求x%y的b进制结果. http://162.105.81.212/JudgeOnline/problem?id=2305 函数: Str ...
- poj 1001 求高精度幂(Java, BigDecimal, pow, hasNext, stripTrailingZeros, toPlainString)
求高精度幂 Time Limit: 500MS Memory Limit: 10000K Total Submissions: 180325 Accepted: 43460 Descripti ...
- poj 1001 求高精度幂
本题的测试用例十分刁钻,必须要考虑到很多的细节问题,在这里给出一组测试用例及运行结果: 95.123 12 548815620517731830194541.899025343415715973535 ...
- UVa 10551 - Basic Remains
题目大意:关于大数的mod和进制转换,直接使用Java的BigInteger类,正在copy式学习中... import java.io.*; import java.util.*; import j ...
- poj 2506 Tiling(高精度)
Description In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles? Here is a sample tili ...
随机推荐
- Python从菜鸟到高手(7):字符串
1. 单引号字符串和转义符 字符串与数字一样,都是值,可以直接使用,在Python控制台中直接输入字符串,如"Hello World",会按原样输出该字符串,只不过用单引号括了 ...
- layui轮播中箭头不起作用问题
layui轮播中箭头不起作用问题 layui轮播插件在使用中发现箭头不起作用其他都合适,是什么原因造成的呢?发现单独提出layui中的demo是合适的,通过仔细慢慢的寻找,发现layui.use('c ...
- hibernate坑边闲话2
threw exception [Request processing failed; nested exception is org.springframework.orm.hibernate5.H ...
- 建立一个单链表,并删除链表中值为W的元素
#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> ...
- CMMI摘要
CMMI_百度百科https://baike.baidu.com/item/CMMI CMMI分为哪几个等级?CMMI等级介绍_百度经验https://jingyan.baidu.com/articl ...
- Centos下启动和关闭MySQL
https://blog.csdn.net/gghh2015/article/details/78281585
- Mysql连接数、线程数、数据包
https://blog.csdn.net/qq_26545305/article/details/79675507
- php之常用扩展总结
在此总结,开发中经常使用到的扩展,来进行日常PHP的开发工作 bcmath(精确数值处理) bz2 calendar Core ctype curl date dom ereg exif filein ...
- 如何使用RSS
(转载: http://www.ruanyifeng.com/blog/2006/01/rss.html) 一. 自从我发现很多人不知道什么是RSS以后,我就一直想向大家介绍它,因为它太有用了,将来会 ...
- 小程序wepy.js框架总结
wepy.js借鉴了Vue的语法风格和功能特性,对官方提供的框架进行了封装,更贴近于MVVM架构模式,让开发者更加容易上手,增加开发效率.(脏数据处理--是否有标识.是否有响应) 前端开发的对组件化开 ...