南阳OJ 一个简单的数学题

来源:互联网 发布:802.1d端口路径开销 编辑:程序博客网 时间:2024/05/09 20:28

一个简单的数学题

时间限制: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<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#include<math.h>using namespace std;bool p[1000000];int main(){    int t;    scanf("%d",&t);    while(t--)    {        int n,m;        memset(p,0,sizeof(p));        scanf("%d",&n);        if(n<0)            n=-n;        else        {            if(n==1)                printf("1\n");            else            {                m=10;                printf("0.");                while(p[m]==0)                {                    printf("%d",m/n);                    p[m]=1;                    m=(m%n)*10;                    if(m==0)                        break;                }                printf("\n");            }        }    }    return 0;}
1 0
原创粉丝点击