• ACM之一个简单的数学问题


    一个简单的数学题

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:3

    描述

    zyc最近迷上了数学,一天,dj想出了一道数学题来难住他。算出1/n,zyc一时答不上来希望大家能编程帮助他。

    输入

    第一行整数T,表示测试组数。后面T行,每行一个整数 n (1<=|n|<=10^5).

    输出

    输出1/n. (是循环小数的,只输出第一个循环节).

    样例输入

    4

    2

    3

    7

    168

    样例输出

    0.5

    0.3

    0.142857

    0.005952380

    程序源代码:

    #include<iostream>

    using namespace std;

    int main()  

    {  

        int n, t, rest;  

        cin>>n;

        int mark[100001];

        while(n--)  

        {  

            for(int i=0;i<100001;i++)mark[i]=0;

            cin>>t;  

            if(t == 1)  

            {  

                cout<<1<<endl;  

            }  

            else  

            {  

                cout<<"0.";

                rest = 1;  

                //下面的过程是手工模拟除法运算,当余数rest出现过则退出while循环

                while(rest != 0 && !mark[rest])  

                {  

                    mark[rest] = 1;         //循环标记  

                    cout<<rest*10/t;  

                    rest = (rest*10)%t;  

                }  

               cout<<endl;

            }  

        }  

        return 0;  

  • 相关阅读:
    DataType--数值类型
    Scala中List(Map1,Map2,Map3 ....) 转成一个Map
    Scala中集合类型与java中集合类型转换
    oracle查询数据库最大连接数等信息
    kafka_2.11-0.10.2.1中的auto.offset.reset
    IOS设备信息与机型对照表
    shell 后台执行脚本
    Spark的操作列表
    hive表支持中文设置
    编译Spark2.1.2源码
  • 原文地址:https://www.cnblogs.com/linruier/p/9485214.html
Copyright © 2020-2023  润新知