C++ 程序设计习题 验证极限,

C++ 程序设计习题 验证极限,
关于输入
三个数,分别代表x,a和e,其中a>1,e>0
关于输出
输出最小的非负整数N,使得当整数n>N时,有|x/a^n| < e成立
我的程序是:
#include
using namespace std;
int main()
{
double a,e,x,y;
int N;
cin>>x>>a>>e;
for (N=0;;N++)
{
y=pow(a,N);
if (abs(x/y)
Fengpangzi 1年前 已收到1个回答 举报

刺猬苏佳 幼苗

共回答了24个问题采纳率:79.2% 举报

因为 abs() 这个 函数的 原因 .abs()的返回值 是INT型的也就是 说 abs(1.5)的值为1;
abs(2.5)的值为2; abs(3)值为3;
当你的 e 有小数部分 而 x/y 又不是整数的时候 abs 就会把 x/y 的小数部分扔掉 ;
所以 在判断的时候 就会比正确答案 大;
你可以 自己 编写一个 程序 验证一下 abs() 这个 函数.

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.054 s. - webmaster@yulucn.com