Single Round Math sdut3260高精度除以低精度
做高精度除法,从高位开始除。。高位除剩下的我们就*10扔给低一位处理,最终余数是在最低位取模得到的
高精除以高精,我们可以这么做,让除数在后面补零,刚好小于被除数,作若干次减法,减的次数加到商里面
然后如果除数后面有零,我们就去掉一个0,商*=10,直到除数刚好小于被除数,统计减法次数加到商里面
如果我们发现去掉所有零,被除数仍然是小于除数的。。那么我们就做完了除法。。(高精度带余除法
这个题就是算高精度对11取模,。。输出答案别忘了break;
两种解法
高精除以低精
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int s[1005],p[1005];
char a[1005],b[1005];
int main(){
int T;scanf("%d",&T);
while(T--){
scanf("%s%s",a,b);
int la=strlen(a),lb=strlen(b),flag=0,i,k=11;
if(la!=lb) {printf("NO\n");continue;}
for(i=0;i<la;++i){
if(a[i]!=b[i]) {
printf("NO\n");flag=1;break;
}
}
if(flag) continue;
s[0]=la;
for(i=0;i<la;++i){
s[i+1]=a[la-i-1]-'0';
}
int r;
for(i=s[0];i>=1;--i){
if(i==1) r=s[i]%k;
if(i!=1) s[i-1]+=s[i]%k*10;
s[i]/=k;
}
if(r==0) printf("YES\n");
else printf("NO\n");
}
return 0;
}
直接取模
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int s[1005],p[1005];
char a[1005],b[1005];
int main(){
int T;scanf("%d",&T);
while(T--){
scanf("%s%s",a,b);
int la=strlen(a),lb=strlen(b),flag=0,i,k=11;
// printf("(%d,%d)\n",la,lb);
if(la!=lb) {printf("NO\n");continue;}
for(i=0;i<la;++i){
if(a[i]!=b[i]) {
printf("NO\n");flag=1;break;
}
}
if(flag) continue;
int ans=0;
for(i=0;i<la;++i){
ans=(ans*10+a[i]-'0')%11;
}
if(ans==0) printf("YES\n");
else printf("NO\n");
}
return 0;
}
Single Round Math sdut3260高精度除以低精度的更多相关文章
- 第三十三章 metrics(1) - graphite搭建 + whisper存储模式 + 高精度向低精度聚合方式 + 集成StatsD + 集成grafana
组件介绍: carbon:Carbon实际上是一系列守护进程,组成一个Graphite安装的存储后端.这些守护进程用一个名为Twisted的事件驱动网络引擎监听时间序列数据.Twisted框架让Car ...
- 【高精度】高精度数除以低精度数I
问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec 内存限制: 512 MB提交: 173 解决: 71[提交] [状态] [讨论版] [命题人:] 题目描述 修罗王聚集了庞大的 ...
- golang:一个高性能低精度timer实现
在go自带的timer实现中,采用的是通常的最小堆的方式,具体可以参见这里. 最小堆能够提供很好的定时精度,但是,在实际情况中,我们并不需要这样高精度的定时器,譬如对于一个连接,如果它在2分钟以内没有 ...
- Si7006主要面向传统上使用的分立RH / T传感器的低精度的应用
Silicon Labs的Si7006 / 13/20/21个I 2 C相对湿度及温度传感器结合充分工厂校准湿度和温度传感器元件与模拟-数字转换器,信号处理和一个I 2 C主机接口.专利使用业界标准低 ...
- int类型被强制转换成较低精度的byte类型
公司的项目上线之前会进行代码合规性检查,其中很容易违反的一个规则就是“不要把原始类型转换成较低的精度”,实际开发的过程中,很多方法在处理数据时,尤其在做移位操作的时候,难免要把int类型转换成byte ...
- Number(),parseInt(),parseFloat(),Math.round(),Math.floor(),Math.ceil()对比横评
首先,这些处理方法可分为三类. 1,只用来处理数字取整问题的:Math.round(),Math.floor(),Math.ceil(): 2,专门用于把字符串转化成数值:parseInt(),par ...
- ORACLE 中NUMBER 类型 低精度转换成高精度
例如: 表User中有一个字段 salary Number(10,3), 如果想把字段salary的类型提高精度到salary Number(10,6),保留六位小数, 解决办法:1,ALTER ...
- 检测Java程序运行时间的2种方法(高精度的时间[纳秒]与低精度的时间[毫秒])
第一种是以毫秒为单位计算的. 代码如下: long startTime=System.currentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 lon ...
- mathjs,math.js解决js运算精度问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- 渗透测试中期--漏洞复现--MS08_067
靶机:Win2k3 10.10.10.130 攻击机:BT5 10.10.10.128 一:nmap 查看WinK3是否开放端口3389 开放3389方法:我的电脑->属性-&g ...
- 30分钟带你理解 Raft 算法
为什么需要 Raft? Raft 是什么? Raft 的目标 前置条件:复制状态机 Raft 基础 Leader 选举(选举安全特性) 日志复制(Leader只附加.日志匹配) 安全 学习资料 使用 ...
- ModelForm的基本用法:
一.ModelForm的基本用法示例: from django import forms from app01 import models class BookModelForm(forms.Mode ...
- MATLAB中load和imread的读取方式区别
load是导入文件,一般从mat文件中,读取的是结构体imread是图像处理工具箱的库函数,处理图像比较方便,读取的是矩阵 1.之前将数组或者矩阵保存为一个mat格式的文件,在进行load命令读取时: ...
- Seata RPC 模块的重构之路
简介: RPC 模块是我最初研究 Seata 源码开始的地方,因此我对 Seata 的 RPC 模块有过一些深刻研究,在我研究了一番后,发现 RPC 模块中的代码需要进行优化,使得代码更加优雅,交互逻 ...
- javascript之Banner图片焦点轮播
这个Banner唯一不好的就是没有前进和后退的button,写过两个版本的banner,这次这个是下面有浮动层的. <!DOCTYPE html><html xmlns=" ...
- 内存空间有限情况下的词频统计 Trie树 前缀树
数据结构与算法专题--第十二题 Trie树 https://mp.weixin.qq.com/s/nndr2AcECuUatXrxd3MgCg
- JAXB学习(二): 对JAXB支持的主要注解的说明
我们在上一篇中对JAXB有了一个大致的认识,现在我们来了解JAXB的一些主要注解. 顶层元素:XmlRootElement 表示整个XML文档的类应该使用XmlRootElement修饰,其实就像之前 ...
- virtualenv安装和配置
安装命令 命令执行结束 配 执行命令:virtualenv testvir 执行完成:会在当前目录下生成如下文件夹 进入到testvir目录 进入Scripts目录: 进入虚拟环境:执行 activa ...
- Docker是如何实现隔离的
Docker是如何实现隔离的 2.进程的隔离 4.文件的隔离 5.资源的限制 7.与传统虚拟机技术的区别 原文地址: 微信公众号:<鲁智深菜园子>:Docker是如何实现隔离的 # 1.运 ...