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;

}

原文地址:https://www.cnblogs.com/linruier/p/8543285.html

时间: 2024-10-03 15:48:11

ACM之一个简单的数学问题的相关文章

ACM/ICPC算法训练 之 数学很重要-浅谈“排列计数” (DP题-POJ1037)

这一题是最近在看Coursera的<算法与设计>的公开课时看到的一道较难的DP例题,之所以写下来,一方面是因为DP的状态我想了很久才想明白,所以借此记录,另一方面是看到这一题有运用到 排列计数 的方法,虽然排列计数的思路简单,但却是算法中一个数学优化的点睛之笔. Poj1037  A decorative fence 题意:有K组数据(1~100),每组数据给出总木棒数N(1~20)和一个排列数C(64位整型范围内),N个木棒长度各异,按照以下条件排列,并将所有可能结果进行字典序排序 1.每一

css3 calc():css简单的数学运算-加减乘除

css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 100px); background:#9AC8EB; } 3栏等宽布局 .box{ margin-left:20px; width:calc(100%/3 - 20px); } .box:nth-child(3n){ margin-left:0; } 运算规则 calc()使用通用的数学运算规则,但是

hdu--3835--最简单的数学..

这应该是最简单的数学了吧... 给你一个数N 问有多少种方法可以组成N=A^2+B^2.. 对于样例1 R(2)=4 分别是 <1,-1>   <1,1>   <-1,1>  <-1,-1>其他的情况 题目hint已经告诉我们了 这题 直接上代码吧=-= 1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() 6 { 7 double

简单的数学思想

l  筛法求素数 把从1开始的.某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉.剩下的数中选择最小的数是素数,然后去掉它的倍数.依次类推,直到筛子为空时结束.如有: 1 2 3 4 5 6 7 89 10 11 12 13 14 1516 17 18 19 20 21 22 23 24 2526 27 28 29 30 1不是素数,去掉.剩下的数中2最小,是素数,去掉2的倍数,余下的数是: 3 5 7 9 11 13 1517 19 21 23 25 27 29 剩下的数中3最小

简单实用数学

等比数列的通项公式:an=a1qn?1 求和公式: Sn=a1(1?qn)1?q(q≠1) 等差数列的通项公式: an=a1+(n?1)d 求和公式:Sn=na1+n(n?1)2d 简单实用数学,布布扣,bubuko.com

一个简单的数学小魔术

在一张纸上并排画 11 个小方格.叫你的好朋友背对着你(确保你看不到他在纸上写什么),在前两个方格中随便填两个 1 到 10 之间的数.从第三个方格开始,在每个方格里填入前两个方格里的数之和.让你的朋友一直算出第 10 个方格里的数.假如你的朋友一开始填入方格的数是 7 和 3 ,那么前 10 个方格里的数应该是 7 3 10 13 23 36 59 95 154 249 现在,叫你的朋友报出第 10 个方格里的数,你只需要在计算器上按几个键,便能说出第 11 个方格里的数应该是多少.你的朋友会

Java初学者:内建函数计算简单的数学表达式

这个应该在之前写的,忘记了,补上 这次我们说一下如何用java计算数学表达式的值,比如,我们要计算sin(pi/3) + cos(pi/6) + 5.6^3,怎么计算呢?这里我们需要用到java的math的内建函数,所谓内建函数,就是java已经给你的方法,你用就好了,有时候你需要自己导入包,但math却不用,java会自动导入,不用你手动导入.下面我们来看一下这个例子: 编译运行通过,没问题,这个很简单. Math.PI, 就是派了,Math.pow(z, 3),就是计算z的立方,Math.s

python实现简单的数学小程序

冒泡法排列list利用打标记来优化 避免重复循环杨辉三角形process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="python实现简单的数学小程序" />建立二维列表,if判定打印出第一个与最后一个1,其余利用列表索引计算与上图类似将每一行列表尾部补0,利用负索引 直接

ACM/ICPC算法训练 之 数学问题

好歹我是数学专业的学生,还是要写写训练的时候遇到的数学问题滴~~ 在ACM集训的时候在各高校OJ上也遇见过挺多的数学问题,例如大数的处理,素数的各种算法,几何问题,函数问题(单调,周期等性质),甚至是各种数学定理或公式的变形.其实算法本身也属于数学研究的范畴(计算机本就是数学的衍生嘛),诸如众多排序算法,搜索算法也是许多精巧的数学逻辑思维,所以大家学计算机千万别忽视数学这门基础学科啊. 貌似说了好多废话= =||,待小编进入正题,今天在湖大OJ训练赛上看到一道数学题,话不多说,直接上图! ___