LFYZ-OJ ID: 1008 求A/B高精度值
思路
小数点前的部分可以通过m/n直接计算得出
小数点后的20位可通过循环进行快速计算,计算方法如下:
m%=nm*=10- 小数点后第i位为
m/n,回到第1步
第3步后,如果
m%n为0,说明已经除净,此时可以break,结束循环按照这种方式计算20次后,最后几次的商可能为0但余数不一定为0,会出现如下情况:
1034/1033=1.00096 80542 11035 81800
- 这里最后的两颗0是不允许出现的,一种处理方法是将计算的20个值存储在一个数组内,结束后,从数组尾部向前扫描,直到遇到非0值或者扫描到i=1为止,然后再对每一个数位输出。
例程
#include<iostream>
using namespace std;
int main(){
int m, n, xs[21]; //在xs[1...20]中存储20个小数位
scanf("%d%d", &m, &n);
printf("%d/%d=%d.", m, n, m/n); //输出整数部分和小数点
for(int i=1; i<=20; i++){ //循环20次计算20个小数位
m%=n;
m*=10;
xs[i]=m/n;
}
int i=20;
while(xs[i]==0 && i>1) i--; //计算有效的小数位
for(int j=1; j<=i; j++) //输出i个有效小数位
printf("%d", xs[j]);
return 0;
}
测试数据
input: 6 5 output: 1.2
input: 6 2 output: 3.0
input: 1034 1033 output: 1.000968054211035818
LFYZ-OJ ID: 1008 求A/B高精度值的更多相关文章
- 【9102】&&【a102】求a/b的高精度值
Time Limit: 10 second Memory Limit: 2 MB 问题描述 计算a/b的精度值,设a,b以一般整数输入,计算结果精确到小数后20位(结果四舍五入). Input 文件输 ...
- OpenJudge计算概论-求出e的值
/*======================================================================== 求出e的值 总时间限制: 1000ms 内存限制: ...
- hdu6035 Colorful Tree 树形dp 给定一棵树,每个节点有一个颜色值。定义每条路径的值为经过的节点的不同颜色数。求所有路径的值和。
/** 题目:hdu6035 Colorful Tree 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6035 题意:给定一棵树,每个节点有一个颜色值.定 ...
- pat02-线性结构3. 求前缀表达式的值(25)
02-线性结构3. 求前缀表达式的值(25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 算术表达式有前缀表示法.中缀表示法和后缀表示法 ...
- YTU 2706: 编写一个函数求最大的n值
2706: 编写一个函数求最大的n 值. 时间限制: 1 Sec 内存限制: 128 MB 提交: 341 解决: 132 题目描述 编写一个函数求满足以下条件的最大的n.:12+22+32+-+ ...
- java练习题-求int类型N值的阶乘
//求int类型N值的阶乘 public static int getNumsJieCheng(int i){ int rs = 1; if(i==0||i==1){ return i; } if(i ...
- PTA笔记 堆栈模拟队列+求前缀表达式的值
基础实验 3-2.5 堆栈模拟队列 (25 分) 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Sta ...
- 信息竞赛进阶指南--递归法求中缀表达式的值,O(n^2)(模板)
// 递归法求中缀表达式的值,O(n^2) int calc(int l, int r) { // 寻找未被任何括号包含的最后一个加减号 for (int i = r, j = 0; i >= ...
- OpenJudge 1.5.35:求出e的值
35:求出e的值 总时间限制:1000ms 内存限制:65536kB 描述 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e . 输入 输入只有一行,该行包 ...
随机推荐
- SQLServer之索引简介
索引设计基础知识 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度. 索引包含由表或视图中的一列或多列生成的键. 这些键存储在一个结构(B 树)中,使 SQL Server 可以快速 ...
- raise
raise 后边一般是更报错处理的,比如nameerror.先上代码 try: a='a0'+8 except: print('l') raise else: print('women') print ...
- 【Teradata SQL】十进制转换成二进制
1.数值类型转换为二进制(TO_BYTE+FROM_BYTES) sel FROM_BYTES(TO_BYTE(),'base2'); 2.字符串类型转换为二进制(TO_BYTES+FROM_BYT ...
- .NET CORE学习笔记系列(3)——ASP.NET CORE多环境标识
在开发项目的过程当中,生产环境与调试环境的配置是不一样的.比如连接字符串. ASP .NET CORE 支持利用环境变量来动态配置 JSON 文件.ASP.NET Core 引用了一个特定的环境变量 ...
- bsp makefile2
1. grep "bsp_dir" -r ./ -s --exclude-dir "*.git" 用这个加快目录定位-- 2.编译所有子目录 for dir ...
- php使用root用户启动
一般情况下,肯定是不推荐使用root用户启动php的 但是在某些服务器管理想使用WEB的方式来控制操作的话,那么就必须要使用root用户才有权限操作 1.修改配置文件php-fpm.conf的启动用户 ...
- canvas如何自适应屏幕大小
可以用JS监控屏幕大小,然后调整Canvas的大小.在代码中加入JS $(window).resize(resizeCanvas); function resizeCanvas() { ...
- ASP.NET Core 微服务初探[1]:服务发现之Consul
ASP.NET Core 微服务初探[1]:服务发现之Consul 在传统单体架构中,由于应用动态性不强,不会频繁的更新和发布,也不会进行自动伸缩,我们通常将所有的服务地址都直接写在项目的配置文件 ...
- python之pickle
#!/usr/bin/python # -*- coding: UTF- -*- ''' ''' import pickle # pickle 只能Python识别 不适用于别的语言 li = [, ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...