输入m、n和p的值,求s =的值。注意判断运算中的溢出。
using namespace std; double f( long k,long num ); int main() { long m,n,p; double s,f1,f2,f3; cout << "m,n,p="; cin>>m>>n>>p; f1=f( 1,m ); f2=f( 3,n ); f3=f( 5,p ); if (f1 && f2 && f3 ) { s = ( f1 + f2) /f3; cout << "s=" << s << endl; } else cout<<"溢出!\n"; } double f( long k,long num ) { long i; double sum=0; for( i=1; i<=num && sum<2147483647; i++ ) { sum = sum + pow( double (i),double (k) ); } if (i<=num) return 0; //溢出时返回 return sum; }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题