zoukankan      html  css  js  c++  java
  • N分之一 竖式除法模拟

    N分之一

    Description


    Alice越来越痴迷于数学问题了。一天,爸爸出了个数学题想难倒她,让她求1 / n。

    可怜的Alice只有一岁零九个月,回答不上来 ~~~~(>_<)~~~~  于是她求你编个程序帮她算出来。

    Input

    第一行是一个整数T,表示测试组数。接下来T行,每行一个整数 n ( 1 ≤ |n| ≤ 105 )。

    Output

    以实数形式输出1/n 。如果是无限循环小数的,只需输出第一个循环节。

    Sample Input

    4
    2
    3
    7
    168

    Sample Output

    0.5
    0.3
    0.142857
    0.005952380

    注意一点 如果被除数在之前出现过的话 那么接下来出现的就是循环节

    #include<bits/stdc++.h>
    int main()
    {
        int n;
        bool vis[100000];
        int t;
        scanf("%d", &t);
        while(t--)
        {
            scanf("%d", &n);
            if(n == 1)
            {
                printf("1
    ");
                continue;
            }
            else if(n == -1)
            {
                printf("-1
    ");
                continue;
            }
    
            memset(vis,0,sizeof(vis));
            if(n < 0)
            {
    
                n = -n;
                printf("-");
            }
    
    
                printf("0.");
    
            int x,k =1;
            int ans[10000];
            int cnt = 0;
            vis[k] = 1;
            while(k)
            {
                k *= 10;
                ans[cnt++] = k/n;
                k %= n;
                //printf("---------%d
    ",k);
                if(vis[k])
                {
                    break;
                }
                vis[k] = true;
            }
            for(int i = 0; i < cnt; i++)
                printf("%d", ans[i]);
            printf("
    ");
            //printf("%d
    ",k);
    
        }
    }
  • 相关阅读:
    linux串口
    在demo板上用串口和AT指令调试GPRS模块
    发送短信
    html
    JavaScript
    frp
    sunke推荐
    ubus
    2021-8
    缓存一致性协议
  • 原文地址:https://www.cnblogs.com/Jadon97/p/6791816.html
Copyright © 2011-2022 走看看