精华内容
下载资源
问答
  • #include #include using namespace std; int main() { double a = 123.45665 , b = 3.1456 , c = -3214.67 ; cout (ios::fixed) (3) ; cout (10) (10) (10) ; return 0;...```
  • 进制小数

    2019-04-05 22:01:25
    什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。 输入 有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着...

    题目描述

    你的任务呢,是将一个有理数转换成三进制小数。“什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。 

    输入

    有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不会超过1000个。

    输出

    输出格式见样本输出,它是以小数点开头的具有10位精度的3进制数。 
     

    样例输入

    1/3
    1/4
    1/6
    7/8

    样例输出 

    .1000000000
    .0202020202
    .0111111111
    .2121212122
    #include <stdio.h>
     
    int main() {
        int a, b;
        double ans;
        int ans_int[12];
        int i;
        while (scanf("%d/%d", &a, &b) != EOF) {
            ans = (double) a / b;
            for (i = 0; i <= 10; i++) 
    		{
                ans *= 3;
                ans_int[i] = (int) ans;
                ans -= ans_int[i];
            }
            if (ans_int[10] == 2) 
    		{
                ans_int[9]++;
            }
            for (i = 9; i >= 0; i--) 
    		{
                if (ans_int[i] == 3) 
    			{
                    ans_int[i] = 0;
                    ans_int[i - 1]++;
                }
            }
            printf(".");
            for (i = 0; i < 10; i++) 
    		{
                printf("%d", ans_int[i]);
            }
            printf("\n");
        }
        return 0;
    }

     

    展开全文
  • 那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:format函数 >>> print('{:.3f}'.format(1.23456)) 1.235 >>> print...
  • #include #include using namespace std; int main() { double a = 123.45665 , b = 3.1456 , c = -3214.67 ; cout (ios::fixed) (3) ; cout (10) (10) (10) ;... -3214.67
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00
  • 1069: 进制小数

    2017-05-09 21:04:23
    什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。 Input有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一...

    题目

    Description

    你的任务呢,是将一个有理数转换成三进制小数。“什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。
    Input

    有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不会超过1000个。

    Output

    输出格式见样本输出,它是以小数点开头的具有10位精度的3进制数。

    Sample Input

    1/3
    1/4
    1/6
    7/8
    Sample Output

    .1000000000
    .0202020202
    .0111111111
    .2121212122


    代码块

    import java.util.Scanner;
    //主要就是十进制转二进制一样,并取整,将取得的整数存入到数组中
    public class Main {
        static double n = 0.0000000001;
    
        public static void main(String[] args) {
            Scanner cn = new Scanner(System.in);
            int[] z = new int[10];
            while (cn.hasNext()) {
                String str = cn.next();
                String[] s = str.split("/");
                int a = Integer.parseInt(s[0]);
                int b = Integer.parseInt(s[1]);
                double num = (double) a / b;
                System.out.print('.');
                for (int i = 0; i < 9; i++) {
                    num *= 3;
                    z[i] = (int) (num + n);
                    num -= (int) (double) num + n;
                }
                num *= 3;
                int an = (int) (double) (num + n);
                num -= (int) (double) num + n;
                if ((double) (num * 3 + n) >= 2 && an <= 1)
                    z[9] = an + 1;
                else if ((double) (num * 3 + n) >= 2 && an >= 2) {//进行最后一位满三,向前进位
                    z[9] = an + 1 - 3;
                    z[8] = z[8] + 1;
                    if (z[8] >= 3) {
                        z[8] = z[8] - 3;
                        z[7] = z[7] + 1;
                        if (z[7] >= 3) {
                            z[7] = z[7] - 3;
                            z[6] = z[6] + 1;
                            if (z[6] >= 3) {
                                z[6] = z[6] - 3;
                                z[5] = z[5] + 1;
                                if (z[5] >= 3) {
                                    z[5] = z[5] - 3;
                                    z[4] = z[4] + 1;
                                    if (z[4] >= 3) {
                                        z[4] = z[4] - 3;
                                        z[3] = z[3] + 1;
                                        if (z[3] >= 3) {
                                            z[3] = z[3] - 3;
                                            z[2] = z[2] + 1;
                                            if (z[2] >= 3) {
                                                z[2] = z[2] - 3;
                                                z[1] = z[1] + 1;
                                                if (z[1] >= 3) {
                                                    z[1] = z[1] - 3;
                                                    z[0] = z[0] + 1 - 3;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                } else {
                    z[9] = an;
                }
                for (int i = 0; i < 10; i++) {
                    System.out.print(z[i]);
                }
                System.out.println();
            }
        }
    }
    展开全文
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00
  • NEUQOJ 1198: 进制小数

    2017-12-05 20:51:11
    什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。 输入: 有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着...

    题目描述:

    你的任务呢,是将一个有理数转换成三进制小数。“什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。

    输入:

    有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不会超过1000个。

    输出:

    输出格式见样本输出,它是以小数点开头的具有10位精度的3进制数。

    样例输入

    1/3
    1/4
    1/6
    7/8

    样例输出

    .1000000000
    .0202020202
    .2121212122

    //讲个笑话我样例没过

    WA:

    #include <iostream>
    #include <cmath>
    #include <algorithm>
    #include <iomanip>
    #include <cstdio>
    using namespace std;
    /*没考虑进位*/
    int main()
    {
        int a,b;
        while(cin>>a)
        {
            getchar();
            cin>>b;
            double ans=1.0*a/b;
            int pointans[11];
            cout<<".";
            for(int i=1;i<=10;i++)
            {
                ans*=3;
                cout<<floor(ans);
                ans-=floor(ans);
            }
            cout<<endl;
        }
        return 0;
    }
    

    AC:

    #include <iostream>
    #include <cmath>
    #include <algorithm>
    #include <iomanip>
    #include <cstdio>
    using namespace std;
    /*乘3取整*/
    int main()
    {
        int a,b;
    
        while(cin>>a)
        {
            getchar();
            cin>>b;
            double ans=1.0*a/b;//float精度不够
            int pointans[11];
            cout<<".";
            for(int i=0;i<=10;i++)
            {
                ans*=3;
                pointans[i]=floor(ans);//向下取整
                ans-=floor(ans);
            }
            if(pointans[10]>=2)
            {
                pointans[9]++;//判断末尾是否需要进位
            }
            for(int i=9;i>=0;i--)
            {
                if(pointans[i]==3)//判断进位以3为基
                {
                    pointans[i]=0;
                    pointans[i-1]++;
                }
            }
            for(int i=0;i<=9;i++)
            {
                cout<<pointans[i];
            }
            cout<<endl;
        }
        return 0;
    }
    
    展开全文
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00
  • 我在oracle中写了一个求数据集的sql语句,得到的数据都保留三位小数,但是通过程序得到的DataTable,所有数据多了一位。这什么呀?如:本来在数据库里取出来0.067,但是从程序里出来后就变成了0.0670,后面会...
  • php取整及保留小数位

    2016-05-19 17:08:59
     如果有小数部分则进一,返回的类型float(无论被取整的数是什么类型,都返回float类型) 二、舍去法取整   floor() 小数部分舍去取整  如果有小数部分则舍去,返回的类型float(无论被取整的数是什么...


    一、php取整

           ceil()   进一法取整

           如果有小数部分则进一位,返回的类型是float(无论被取整的数是什么类型,都返回float类型)

    二、舍去法取整 

               floor()    小数部分舍去取整

           如果有小数部分则舍去,返回的类型是float(无论被取整的数是什么类型,都返回float类型)

    三、round()   对浮点数进行四舍五入,返回float类型

           round(3.2)            //3

           round(3.8)            //4

           round(3.9, 0)        //4     

           round(4.889, 2)    //4.89

           round(12345.009, -3)    //12000

    四、intval()  变量转成整数类型


    五、php保留小数并四舍五入

           $num = 0.245;

           sprintf("%.2", $num);     //0.25


    六、格式化数字函数

           $num = 10.456;

           number_format($num);      //10.46












    展开全文
  • 精确计算PI小数点后800位小数近来,在网上发现一个能精确计算PI后面数百位的C程序,不敢独享,把其翻译成PASCAL版,供大家参考,该函数写的非常精巧,仅用了行代码,就能精确计算出PI后800位小数。小弟不才,对...
  • 我们发现现有数据由于保密性的问题,只能拿到精确到三位小数的经纬度数据,因此想看一看经纬度保留到不同小数位对应的精度分别是什么样的。 纬度不变,经度保留位数每相差1的情况: 1.精确到小数点后第六位 经纬度被...
  • 下午手贱JavaScript写了个题,当然了最后也没通过,不是我代码问题,我换了个四个浏览器,输出都没问题,但是提交OJ的判定系统就说我没有输出????,看了一下其他用户的反馈,看来应该判题系统的问题不过记录一下...
  • (3)将小数分为符号、尾数、基数、指数4部分进行表现的形式称为什么? 浮点数(浮点数形式) (4)二进制数的基数是什么? 2 (5)通过把0作为数值范围的中间值,从而在不使用符号的情况下来...
  • 4 什么是浮点数 5 正则表达式和 EXCESS 系统 5.1 位数部分 5.2 指数部分 6 在实际的程序中进行确认 7 如何避免计算机计算出错 8 二进制数和十六进制数 8.1 整数情况 8.2 小数情况 1 将 0.1 ...
  • 问,当删去int时输出结果为什么是5,5.0,helloc++而不5.0,5.0,helloc++?答:其实第一个赋值的5已经强制转换为float型了,之所以没有输出5.0是因为cout没有设置浮点数的小数位数(包括小数点)。改:加一个头文件&...
  • 小数精度问题

    2020-12-12 17:57:47
    而这个640和1又分为个部分,符号(1)、指数(11)、尾数(52) 1、 符号:确定正、负。 2、 尾数的位数:确定精度。 3、指数的位数:确定所能表示的数的范围。 例子 说明 上图指数为1023为指数偏移值,双...
  • mysql输入小数自动变为整数

    千次阅读 2013-01-11 13:54:48
    数据库中字段的类型明显设置的double的类型,但输入小数的时候,小数就会变成整数。...想了想,把double(11,0)改成了double(11,3),果然,能插入小数了,并且保留了三位小数,而且“十进位”选项上写了3。
  • 目录一、问题引出与求证二、问题查阅与解决、MATLAB如何修改计算结果保留的有效数字四、拓展——数值显示四、后记 一、问题引出与求证 今天,利用MATLAB编写乘同余法产生随机数相关代码时,遇到一个问题: (下图...
  • 2.什么是浮点数 浮点数是指用符号,尾数,基数和指数这四部分来表示的小数。因为计算机内部使用的是二进制数,所以基数自然是2。因此,实际的数据中往往不考虑基数,只用符号,尾数,指数这部分即可表示浮点数。 ...
  • 保留两位小数的时候对于下面个的输出结果感到奇怪,为什么0.255舍入后0.26,0.155和0.355分别0.15和0.35,有没有大佬能说明一下呀 ``` double d = 0.155; double d1 = 0.255; double d2 = 0.355; ...
  • 我的理解在我们理解了内存,指针,运算等后,再来介绍浮点这个特殊而又普通的数据类型比较好理解。浮点数和基本类型数据的存储差别比较大,这里不是说存储形式的差别,而是浮点数存放的时候要经过运算后再转换...
  • 对于每一组测试数据,请输出构成的最大的三角形的面积,结果保留两位小数。 每组输出占一行。 Sample Input 3 3 4 2 6 3 7 6 2 6 3 9 2 0 8 0 6 6 7 7 Sample Output 1.50 27.00

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 185
精华内容 74
关键字:

什么是三位小数