博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A simple problem 分类: 哈希 ...
阅读量:5255 次
发布时间:2019-06-14

本文共 1439 字,大约阅读时间需要 4 分钟。

A simple problem

Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3702 Accepted Submission(s): 1383

Problem Description

Zty很痴迷数学问题.。一天,yifenfei出了个数学题想难倒他,让他回答1 / n。但Zty却回答不了^_^. 请大家编程帮助他.

Input

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

Output

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

Sample Input

4

2
3
7
168

Sample Output

0.5

0.3
0.142857
0.005952380

Author

yifenfei

Source

HDU 2008-10 Programming Contest
一道有意思的题,哈希思想,不过在初始化的时候有点小技巧可以防止超时.

#include #include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define eps 1e-9#define LL long long#define PI acos(-1.0)#define INF 0x3f3f3f3f#define CRR fclose(stdin)#define CWW fclose(stdout)#define RR freopen("input.txt","r",stdin)#pragma comment(linker, "/STACK:102400000")#define WW freopen("output.txt","w",stdout)const int MAX = 1e5+10;bool vis[MAX*10];int main(){ int T; int n,m; scanf("%d",&T); while(T--) { scanf("%d",&n); if(n<0) { printf("-"); n=-n; } if(n==1) { printf("1"); } else { printf("0."); memset(vis,false,(n*10)*sizeof(vis[0]));//不必全部初始化 m=10; vis[10]=true; while(1) { printf("%d",m/n); vis[m]=true; m=m%n; if(m==0) { break; } m*=10; if(vis[m]) { break; } } } printf("\n"); } return 0;}

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/juechen/p/4721925.html

你可能感兴趣的文章
1、HDFS 架构、启动过程
查看>>
对象不支持“attachEvent”属性或方法的解决办法
查看>>
Java基础:(六)关键字
查看>>
管理weblogic服务的启动和停止
查看>>
Web安全测试漏洞场景
查看>>
sqlserver、mysql、oracle各自的默认端口号
查看>>
各种ORM框架一站式代码下载
查看>>
HTTP状态码详解
查看>>
Activity生命周期以及启动模式对生命周期的影响(二)
查看>>
MailHelper
查看>>
Android注解使用之ButterKnife 8.0注解使用介绍
查看>>
INotitypropertyChanged
查看>>
WPF数据绑定
查看>>
JEECMS的几个细节
查看>>
C# 当前时间和时间戳互相转换
查看>>
项目从0到1
查看>>
20145322 Exp5 MS11_050
查看>>
box-sizing属性
查看>>
微信小程序——<radio></radio>大小改变
查看>>
private继承如何转换
查看>>