ABC C 求调
  • 板块学术版
  • 楼主xzy_AK_IOI
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/4 22:28
  • 上次更新2025/1/5 11:48:39
查看原帖
ABC C 求调
1183074
xzy_AK_IOI楼主2025/1/4 22:28
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define F(i,k,n) for (int i=k;i<=n;i++)
typedef long long ll;
ll a,b,sum1,sum2;
ll Size(ll a){
	string g=to_string(a);
	return g.size();
}
ll Pow(ll a,ll b){
	ll sum=1;
	F(i,1,b) sum*=a;
	return sum;
}
signed main(){
	cin>>a>>b;a--;
	ll sa=Size(a),sb=Size(b);
	F(i,2,sa-1) F(j,1,9) sum1+=(ll)(Pow(j,i-1));
	F(i,2,sb-1) F(j,1,9) sum2+=(ll)(Pow(j,i-1));
	string A=to_string(a),B=to_string(b);
	ll p1=A[0]-'0',p2=B[0]-'0';
	F(j,1,p1-1) sum1+=(ll)(Pow(j,sa-1));
	F(j,1,p2-1) sum2+=(ll)(Pow(j,sb-1));
	ll k1=0,k2=0;
	F(i,1,sa-1){
		if (A[i]-'0'>=p1){
			k1+=Pow(p1,sa-i);
			break;
		}
		else{
			k1+=(A[i]-'0')*Pow(p1,sa-i-1);
		}
	} 
	F(i,1,sb-1){
		if (B[i]-'0'>=p2){
			k2+=Pow(p2,sb-i);
			break;
		}
		else{
			k2+=(B[i]-'0')*Pow(p2,sb-i-1);
		}
	}
	cout<<(sum2+k2)-(sum1+k1);
	return 0;
}
2025/1/4 22:28
加载中...