22pts 求助 #WA#
查看原帖
22pts 求助 #WA#
500803
zzxzzxCCC楼主2024/8/23 22:59
#include <bits/stdc++.h>
using namespace std;

const int N = 100050;

int n, d;
int mod[N], cnt[N];

int main(){
	scanf("%d%d", &n, &d);
	printf("%d.", n / d);
	
	if(n % d == 0){
		printf("0");
		return 0;
	}
	
	int t = n / d, length = 1;
   if(t == 0) length ++;
	while(t != 0){
		length ++;
		t /= 10;
	} 
	
	n = n % d;
	
	int i = 0, j = 0;
	mod[i] = n, cnt[mod[i]] ++;
	while (1){
		mod[++ i] = mod[i - 1] * 10 % d, cnt[mod[i]] ++;
		if(mod[i] == 0){
			for(int j = 0; j < i; j ++){
				printf("%d", mod[j] * 10 / d);
				
				if(length >= 76) printf("\n") ,length = 0; 
			}
			break;
		}
		
		if (cnt[mod[i]] == 2) {
			for (j = 0; j <= i && mod[j] != mod[i]; j ++){
				printf("%d", mod[j] * 10 / d), length++;
				
				if(length >= 76) printf("\n") ,length = 0; 
			}
				
			printf("(");
			for (int k = j; k < i; k ++){
				printf("%d", mod[k] * 10 / d), length++;
				
				if(length >= 76) printf("\n"), length = 0;
			}
			printf(")");
			
			break;
		}
	}
	return 0;
}
2024/8/23 22:59
加载中...