码迷,mamicode.com
首页 > 其他好文 > 详细

hihocoder-1720-小数数字

时间:2018-04-13 22:38:05      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:ext   数字   head   哪些   style   get   ring   int   eof   

hihocoder-1720-小数数字

#1720 : 小数数字

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

给定一个真分数P/Q(P < Q),请你求出它的小数部分都包括0~9中的哪些数字。  

例如1/2=0.5,只包含数字5;1/3=0.33333……,只包含数字3,1/7=0.142857142857……,包含数字124578。

输入

两个整数P和Q,1 ≤ P < Q ≤ 1000000

输出

从小到大输出小数部分出现的所有数字

样例输入
13 123
样例输出
01569

 

记录出现的余数,一旦出现之前出现过的,说明陷入了循环了。而两个整数的比值一定是有理数。一定能除尽或者找到循环节。

 

#include <cstdio> 
#include <cstring> 
#include <cstdlib>  

const int MAXN = 1000000 + 10; 

int P, Q, vis[MAXN], get[10]; 

int main()
{
	int tmp1, tmp2; 
	while( scanf("%d %d", &P, &Q) != EOF)
	{
		memset(vis, 0, sizeof(vis)); 
		memset(get, 0, sizeof(get)); 

		while(P){ 
			tmp1 = P*10 / Q; 
			get[ tmp1 ] = 1; 

			P = P*10 % Q; 
			if( vis[P] ){
				break; 
			}else{
				vis[P] = 1; 
			} 
		} 
		for(int i=0; i<10; ++i){
			if( get[i] ){
				printf("%d", i);
			} 
		} 
		printf("\n");  
	} 
	return 0; 
}

  

hihocoder-1720-小数数字

标签:ext   数字   head   哪些   style   get   ring   int   eof   

原文地址:https://www.cnblogs.com/zhang-yd/p/8824108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!