主题:寻高人指点!
FANTASY三叶草
[专家分:0] 发布于 2009-09-11 09:30:00
#include<iostream>
using namespace std;
int main()
{float R;
int n,i;
0<n<=25;0.0<R<99.999;
cin>>R>>n>>endl;
for(i=0;i<=n-1;i++)
{R=R*R;
cout<<"R="<<R<<endl;
return 0;
}
能用中文解释下出错的原因吗?寻高手!!!!!!!!!!!!!!!
回复列表 (共2个回复)
沙发
cqu227hk [专家分:370] 发布于 2009-09-15 15:58:00
你这句是什么意思"0<n<=25;0.0<R<99.999;"是想使用断言吗?
cin>>R>>n[color=FF0000]/*>>endl*/[/color];
for(i=0;i<=n-1;i++)
{R=R*R;
cout<<"R="<<R<<endl;
[color=FF0000]}[/color]//这里少了
return 0;
}
板凳
FANTASY三叶草 [专家分:0] 发布于 2009-09-16 15:28:00
我后来发现我编在上面的程序出现了很多错误。谢谢你提醒!
那个原题是:求高精度幂
Time Limit: 500MS Memory Limit: 10000K
Total Submissions: 55880 Accepted: 13108
Description
对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。
现在要你解决的问题是:对一个实数R( 0.0 < R < 99.999 ),要求写程序精确计算 R 的 n 次方(Rn),其中n 是整数并且 0 < n <= 25。
Input
T输入包括多组 R 和 n。 R 的值占第 1 到第 6 列,n 的值占第 8 和第 9 列。
Output
对于每组输入,要求输出一行,该行包含精确的 R 的 n 次方。输出需要去掉前导的 0 后不要的 0 。如果输出是整数,不要输出小数点。
Sample Input
95.123 12
0.4321 20
5.1234 15
6.7592 9
98.999 10
1.0100 12
Sample Output
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
我真不知道该怎么编那个程序,感觉无从下手,我只是个学C++的起步新手,希望各位朋友能帮帮我,谢谢了!
我来回复