北邮OJ 163 非平方等式

北邮OJ 非平方等式

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
long long  S(long long  x){
	long long  sum=0;
	while(x!=0){
		sum=sum+x%10;
		x=x/10;
	}
	return sum;
}
int main(){
	long long n;
	long long flag=0;
	cin>>n;
	for(long long i=(sqrt(n)-162)>0?(sqrt(n)-162):1;i<sqrt(n);i++){
		if((i*i+i*S(i))==n){
			flag=i;
			break;
		}
	}
	if(flag==0)
		printf("-1");
	else
		printf("%d",flag);
} 

猜你喜欢

转载自blog.csdn.net/bingkuoluo_/article/details/88808704
163