Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Xcalibur
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
#1

Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день - C++

07.06.2014, 12:47. Просмотров 1623. Ответов 14
Метки нет (Все метки)

Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день он увеличивал пробег на 10% от пробега предыдущего дня. В какой день суммарный пробег за все дни превысит M км.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 12:47     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день
Посмотрите здесь:

C++ Написать программу, которая будет показывать следующий день на определенным формате
C++ Задача на циклы. Начав тренировки, спортсмен в первый день пробежал 10 км.
В первый день спортсмен пробежал X километров, а затем он...(цикл while) C++
C++ Вводится k-й день невисокосного года - определить, является ли этот день рабочим.
C++ Следующий день
C++ Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км
Начав тренировки, спортсмен в первый день пробежал 10 км C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
07.06.2014, 12:51     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #2
Сумма n первых членов геометрической прогрессии:

Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день

q = 1.1
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 12:52     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<cstdio>
 
double n, m;
int cnt;
 
int main()
{
  scanf("%lf%lf", &n, &m);
  while (n <= m)
  {
    n = (11 * n) / (double) 10;
    cnt++;
  }
  printf("%d\n", cnt);
}
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
07.06.2014, 12:56     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #4
Долго считать будет. Задача решается без циклов намного быстрее.

+цикл написан неправильно. Нужно, чтоб сумма была меньше M, а не пробег за один день.
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 13:03     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Nekto, во-первых, в названии темы написано циклические алгоритмы, а во-вторых, http://www.cyberforum.ru/cgi-bin/latex.cgi?{1,1}^{200} это около http://www.cyberforum.ru/cgi-bin/latex.cgi?2*{10}^{8}, значит работать будет совсем быстро.
Xcalibur
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
07.06.2014, 17:13  [ТС]     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #6
Tchikh, а можеш помочь с методом решения и формулой ?
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 17:20     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #7
Да, было чуть неправильно написано, извините

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cstdio>
 
double n, m, sum;
int cnt;
 
int main()
{
  scanf("%lf%lf", &n, &m);
  while (sum <= m)
  {
    n = (11 * n) / (double) 10;
    cnt++;
    sum += n;
  }
  printf("%d\n", cnt);
}
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
07.06.2014, 18:53     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #8
C++
1
static_cast<unsigned long long>(std::log(0.1 * m / n + 1) / std::log(1.1)) + 1;
Добавлено через 9 минут
Цитата Сообщение от Tchikh Посмотреть сообщение
Да, было чуть неправильно написано, извините

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cstdio>
 
double n, m, sum;
int cnt;
 
int main()
{
  scanf("%lf%lf", &n, &m);
  while (sum <= m)
  {
    n = (11 * n) / (double) 10;
    cnt++;
    sum += n;
  }
  printf("%d\n", cnt);
}
n = 1, m = 1.09 -> твой код выдаст результат 1 вместо 2.
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
07.06.2014, 18:56     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cstdio>
 
double n, m, sum;
int cnt;
 
int main()
{
  scanf("%lf%lf", &n, &m);
  while (sum <= m)
  {
    cnt++;
    sum += n;
    n = (11 * n) / (double) 10;
  }
  printf("%d\n", cnt);
}
Xcalibur
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
08.06.2014, 10:08  [ТС]     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #10
Tchikh, а можете решить это задачу еще раз с использованием цикла с постусловием (do … while ( )).?
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
08.06.2014, 10:14     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #11
Xcalibur, попробуйте сами, это совсем просто
Xcalibur
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
08.06.2014, 10:16  [ТС]     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #12
мог бы сам не обращался за помощью )

Добавлено через 28 секунд
Tchikh, мог бы сам не обращался за помощью )
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
08.06.2014, 10:22     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cstdio>
 
double n, m, sum;
int cnt;
 
int main()
{
  scanf("%lf%lf", &n, &m);
  do
  {
    cnt++;
    sum += n;
    n = (11 * n) / (double) 10;
  } while (sum <= m);
  printf("%d\n", cnt);
}
Xcalibur
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 11
18.06.2014, 18:04  [ТС]     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #14
в тексте программ нет обнуления наращиваемых величин. Сможете добавить ?

Добавлено через 56 секунд
Tchikh, в тексте программ нет обнуления наращиваемых величин. Сможете добавить ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 22:23     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день
Еще ссылки по теме:

C++ Выводим следующий день
C++ Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день он увелич
C++ Логические выражения - программа на следующий день просто перестала работать
C++ Начав тренировки, лыжник в первый день пробежал 10 км
Определить в какой день лыжник пробежит заданное расстояние (циклы) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
18.06.2014, 22:23     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день #15
Цитата Сообщение от Xcalibur Посмотреть сообщение
в тексте программ нет обнуления наращиваемых величин. Сможете добавить ?

Добавлено через 56 секунд
Tchikh, в тексте программ нет обнуления наращиваемых величин. Сможете добавить ?
ты даже это не можешь сам сделать?
Yandex
Объявления
18.06.2014, 22:23     Циклические алгоритмы,Начав тренироваться, лыжник в первый день пробежал n км. Каждый следующий день
Ответ Создать тему
Опции темы

Текущее время: 05:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru