Top.Mail.Ru
Ответы

С++

Задание свело меня с ума!

Дано действительное число а. Найти среди чисел 1, 1+1/2, 1+1/2+1/3, ..первое большее а.
Использовать оператор do…while

Дополнен

Написал так:
#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char *argv[]) {
float a, p=2, sum=1;
cin>>a;
do{
sum=sum+(1/p);
p++;
}
while (sum>a);{
cout<<sum;
}
return 0;
}

Но возвращается всегда только 1.5

По дате
По Рейтингу
Аватар пользователя
Новичок
10лет

#include

using namespace std;

int main()
{
using namespace std;

float a, p=1,s=0,sum=0;
cin>>a;
do{
s=(1/p);
sum+=s;
p++;
}
while (sum<=a);{
cout<<sum;
}
system("PAUSE");
return 0;

}

Аватар пользователя
Искусственный Интеллект
10лет

#include "iostream"
using namespace std;
int main(){
double a,p=0,s=0;
cout<<"a: "; cin>>a; do s+=1/++p; while(s<=a);
cout<<s<< endl; cin.get(); cin.get();}