A - 小数数字
给定一个真分数P/Q(P < Q),请你求出它的小数部分都包括0~9中的哪些数字。
例如1/2=0.5,只包含数字5;1/3=0.33333……,只包含数字3,1/7=0.142857142857……,包含数字124578。
Input两个整数P和Q,1 ≤ P < Q ≤ 1000000
Output从小到大输出小数部分出现的所有数字
13 123Sample Output
01569思路:因为分数均为循环小数,所以可以直接求解
代码:
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int main()
{
int p,q;
while(scanf("%d%d",&p,&q)!=EOF)
{
p*=10;
int temp=p;
int a[10]= {0};
for(int i=0; i<q-1; i++)
{
int ans=temp/q;//得到小数部分
a[ans]=1;//标记
temp=temp%q*10;//得到下一个小数部分
}
for(int i=0; i<10; i++)
{
if(a[i])//输出小数
printf("%d",i);
}
printf("\n");
}
return 0;
}