90?!
查看原帖
90?!
989997
DGL__DGL_AFO楼主2024/5/12 15:54

Wa #5

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll l,r,ls,rs;
ll z;
ll ans;
ll a[114],b[114];

ll S(ll x)
{
	ll res=0;
	while(x)
	{
		res+=x%10;
		x/=10;
	}
	return res;
}

void add(ll x)
{
	if(a[x]>3)
	{
		a[x]=0;a[x+1]++;
		add(x+1);
	}
}

void find()
{
	z=0;
	for(int i=11;i>=1;i--)
	  z=z*10+a[i];
}

int main()
{
	cin>>l>>r;
	while(l)
	{
		a[++ls]=l%10;
		l/=10;
	}
	for(int i=1;i<=ls+1;i++)
	{
		if(a[i]>3)
		{
			a[i]=0;
			a[i+1]++;	
		}
	}
	find();
	while(z<=r)
	{
	  //cout<<z<<' ';
		a[1]++;
		add(1);
		if(S(z*z)==S(z)*S(z))
		  ans++;
		find();  
	}
		
	
	
	cout<<ans;
	
	return 0;
}
2024/5/12 15:54
加载中...