90分,最后一个点wa,求助
查看原帖
90分,最后一个点wa,求助
501964
your_tzz楼主2022/9/17 14:32

最后一个点输出为323,为什么

#include<bits/stdc++.h>
using namespace std;
int min_b(long long a,long long b){
	if(a==b){
		return a;
	}
	long long mb=a*b;
	for(int i=2;i<=min(a,b);i++){
		while(a%i==0&&b%i==0){
			a/=i;
			b/=i;
			mb/=i;
		}
	}
	return mb;
}
int a,b,c,d;
int main() {
	cin>>a>>b>>c>>d;
	long long k=min_b(a,b);
	long long cnt=1;
	c%=k;
	for(int i=1;i<=c;i++){
		cnt*=10;
		cnt%=k;
	}
	int temp=d;
	for(int i=0;i<cnt;i++){
		d+=b;
		d%=a;
		
	}
	cout<<d;
	return 0;
}


2022/9/17 14:32
加载中...