Time Limit: 10 second

Memory Limit: 2 MB

问题描述

计算a/b的精度值,设a,b以一般整数输入,计算结果精确到小数后20位(结果四舍五入)。

Input

文件输入仅一行,输入a和b,之间用空格隔开。

Output

输出a/b的高精度值,最后用回车结束

Sample Input

4 3

Sample Output

4/3=1.33333333333333333333

Sample Input2

6 5

Sample Output2

6/5=1.2

【题解】

这个做除法的过程实际上就是模拟笔算除法。

在处理小数的时候只要乘10,然后取模,再乘10取模就可以了。进行21次。

第21位若是大于等于5则往前进位。

***********给的测试点中,有出现答案是整数的要写成X.0的形式,即要在整数后加上.0

【代码】

#include <cstdio>

int a,b,ans[25];

void input_data()
{
scanf("%d%d",&a,&b);
} void get_ans()
{
int x= a % b;
int tt = 0;
ans[0] = a / b; //整数部分直接
for (int i =1; i <= 21;i++) //进行21次的*10和取模的过程
{
tt++;
ans[tt] = x*10 / b;
x = (x*10) % b;
}
if (ans[21] >= 5) //如果第21位大于等于5,则一直往前进位。
{
ans[20] ++;
for (int i = 20;i>=1;i--)
if (ans[i] >= 10)
ans[i]-=10,ans[i-1]++;
}
} void output_ans()
{
printf("%d/%d=",a,b); //整数和小数点可以直接输出。
printf("%d.",ans[0]);
int t = 20;
//接下来要去除末尾多余的0
while (ans[t] == 0 && t >1) t--;
for (int i = 1; i <= t;i++)
printf("%d",ans[i]);
} int main()
{
input_data();
get_ans();
output_ans();
return 0;
}

【9102】&&【a102】求a/b的高精度值的更多相关文章

  1. C语言atan2()函数:求y/x的反正切值

    头文件:#include <math.h> atan2() 函数用于求 y / x 的反正切值.其原型为:    double atan2(double y, double x); [参数 ...

  2. python_求1-2+3-4+......-100的值

    求1-2+3-4+5---100 = ? 逻辑整理: -- 本质上可以转换一下,1+3+5+--+99 -(2+4+--+100) 加减部分间隔都为2,先求1+3+5+--+99的值, 再求2+4+- ...

  3. c# 求第30位数的值

    1,1,2,3,5,8,13,21,34,55.... 求第30位数的值: 递归方法: class Program { static void Main(string[] args) { //找规律: ...

  4. POJ 2104 K-th Number ( 求取区间 K 大值 || 主席树 || 离线线段树)

    题意 : 给出一个含有 N 个数的序列,然后有 M 次问询,每次问询包含 ( L, R, K ) 要求你给出 L 到 R 这个区间的第 K 大是几 分析 : 求取区间 K 大值是个经典的问题,可以使用 ...

  5. html标签内部简单加js 一维数组求最大值 最小值两个值位置和数字金字塔图形

     html标签内部,简单加js <a href=""></a><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  6. E. Vus the Cossack and a Field (求一有规律矩形区域值) (有一结论待证)

    E. Vus the Cossack and a Field (求一有规律矩形区域值) 题意:给出一个原01矩阵,它按照以下规则拓展:向右和下拓展一个相同大小的 0 1 分别和原矩阵对应位置相反的矩阵 ...

  7. LFYZ-OJ ID: 1008 求A/B高精度值

    思路 小数点前的部分可以通过m/n直接计算得出 小数点后的20位可通过循环进行快速计算,计算方法如下: m%=n m*=10 小数点后第i位为m/n,回到第1步 第3步后,如果m%n为0,说明已经除净 ...

  8. 求n阶方阵的值(递归)

    若有n*n阶行列式A,则: |A|=A[1][1]*M[1][1]+A[1][2]*M[1][2]+...A[1][n]*M[1][n]:其中M[1][i] 表示原矩阵元素A[1][i]的代数余子式: ...

  9. 堆排序 海量数据求前N大的值

    最(大)小堆的性质: (1)是一颗完全二叉树,遵循完全二叉树的所有性质. (2)父节点的键值(大于)小于等于子节点的键值 堆的存储 一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2. ...

随机推荐

  1. 【习题 6-9 UVA - 127】"Accordian" Patience

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 链表模拟即可. 1pile不能加s... [代码] #include <bits/stdc++.h> using nam ...

  2. dbms_stats

    dbms_stats全部的功能包例如以下: GATHER_INDEX_STATS:分析索引信息 GATHER_TABLE_STATS:分析表信息,当cascade为true时,分析表.列(索引)信息 ...

  3. javascript的组成

    ECMAScript:(3/5/6/7) 它是JS语言的标准,规定了JS的编程语法和基础核心知识. DOM:document object model 文档对象模型,提供给JS很多的操作页面中元素的属 ...

  4. python输出杨辉三角

    使用python列表,展示杨辉三角 # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan yanghui = [] fo ...

  5. jQuery笔记---选择器(三)

    1.1查找隐藏的tr元素的个数 $(“table tr:hidden”).size() 查找所有可见的tr元素的个数 $(“table tr:not(:hidden)”).size()   一般是不使 ...

  6. 9.7 Binder系统_c++实现_编写程序

    参考文件:frameworks\av\include\media\IMediaPlayerService.h (IMediaPlayerService,BnMediaPlayerService)fra ...

  7. 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径

    转自原文 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径. 打开C:\Windows\System32\inetsrv\config路径 找到applicationH ...

  8. [WASM] Read WebAssembly Memory from JavaScript

    We use an offset exporting function to get the address of a string in WebAssembly memory. We then cr ...

  9. java測试网络连接是否成功并设置超时时间

    /** * 获取RMI接口状态 * * @return "0":服务正常,"1": 连接报错,"2":连接超时 */ @Override p ...

  10. hive SQL优化之distribute by和sort by

    近期在优化hiveSQL. 以下是一段排序,分组后取每组第一行记录的SQL INSERT OVERWRITE TABLE t_wa_funnel_distinct_temp PARTITION (pt ...