解方程(equation)
生活随笔
收集整理的這篇文章主要介紹了
解方程(equation)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述:
讓我們看看如下等式:
x2+s(x)×x?n=0 ,其中x ,n 是正整數(shù),s(x) 是函數(shù),相當(dāng)于求十進制中x 的位數(shù)之和。
給出一個整數(shù)n ,找到x 的最小正整數(shù)根,或確定沒有這樣的根。
輸入格式:
僅有一行,包含一個整數(shù) n (1≤n≤1?1018) ,表示方程中的參數(shù)。
輸出格式:
僅有一個數(shù),表示使方程成立的最小的正整數(shù)根 x (x>0) ,如果沒有這樣的根,則輸出 ?1 。
樣例輸入1:
2樣例輸出1:
1樣例輸入2:
110樣例輸出2:
10樣例輸入3:
4樣例輸出3:
-1code<代碼>
#include<bits/stdc++.h> using namespace std; long long h(long long x) {long long s=0,a;while(x>0){s+=x%10;x/=10;} return s; }int main() {long long i,n,y;int flag=0;cin>>n;y=(long long)sqrt(n);for(i=max((long long)1,y-81);i<=y;i++){if(i*i+h(i)*i==n){cout<<i;flag=1; break;}}if(flag==0)cout<<-1;return 0;}天天贊天天看!!!
總結(jié)
以上是生活随笔為你收集整理的解方程(equation)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 匹配问题
- 下一篇: 进程隐藏的各种方法 以及分析比较以及实现