ACM之一个简单的数学问题

Posted erge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;  

以上是关于ACM之一个简单的数学问题的主要内容,如果未能解决你的问题,请参考以下文章

2021-2022-1 ACM集训队每周程序设计竞赛 - 问题 D: 数学?- 题解

2021-2022-1 ACM集训队每周程序设计竞赛 - 问题 E: 数学!- 题解

ACM入门之TSP问题

1490 ACM 数学

零基础必看之数学建模索引

数学 题解《ACM国际大学生程序设计竞赛题目与解读》