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

Вывод на экран кол-во прохождений цикла while - C++

Восстановить пароль Регистрация
 
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
06.12.2012, 22:08     Вывод на экран кол-во прохождений цикла while #1
Задачка: Червяк ползёт по резинке 1 см/мин. Начальная длина резинки - 7 см. Через каждую минуту резинку растягивают на 7 см. Вопрос: доползёт ли червяк до конца резинки. Если да, то когда ?

Накидал на быструю:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <cstdlib>
int main (void)
{ int n; double p,q;
n=7;
q=1;
while (q>=n)
{
n+=7;
p=((n+7)%(n-7));
q=((q+1)*p);
}
printf ("YES\n");
system("pause");
return 0;
}
На экран выводит - YES, то есть червяк дополз до конца резинки на какой-то минуте. Но нужно узнать когда. Недавно увидел на просторах интернета как в одной задачке ставили счетчик, который выводил на экран в столбил кол-во пройденных циклов. Ну вот я хочу это реализовать в своей программке. Помогите, заранее благодарен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 22:20     Вывод на экран кол-во прохождений цикла while #2
При таком построении задачи червяк никогда не доползет до резинки. Подумайте сами.....
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
07.12.2012, 17:48  [ТС]     Вывод на экран кол-во прохождений цикла while #3
Цитата Сообщение от sovaz1997 Посмотреть сообщение
При таком построении задачи червяк никогда не доползет до резинки. Подумайте сами.....
Идею задачи мне подсказал преподаватель.
Хотя, он наверное сам не знает как решать...
tolord
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 5
07.12.2012, 18:00     Вывод на экран кол-во прохождений цикла while #4
Действительно, скорость растяжки резинки больше скорости червяка в семь раз, так что программа странная вообще. Может быть, растяжка конечна или выполняется реже?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
07.12.2012, 18:02     Вывод на экран кол-во прохождений цикла while #5
А этого я не знаю. И не знаю, кто ее тебе давал . Может, скорость червяка 7 см/мин, а резинку растягивают со скоростью 1 см/мин??? - Если есть возможность проверь)))
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
07.12.2012, 18:13  [ТС]     Вывод на экран кол-во прохождений цикла while #6
Цитата Сообщение от sovaz1997 Посмотреть сообщение
А этого я не знаю. И не знаю, кто ее тебе давал . Может, скорость червяка 7 см/мин, а резинку растягивают со скоростью 1 см/мин??? - Если есть возможность проверь)))
Нет. Скорость червяка - 1см/мин. Каждую минуту резинку растягивают на 7 см. Длина резинки неограниченна.
Как объяснил мне препод, что каждый раз, когда мы растягиваем резинку - положение червяка меняется, т.к. меняется масштаб резинки (его слова). Он показал мне на первой минуте.

Пошла первая минута, длина резинки - 7 см. Червяк ползёт 1 см. Закончилась минута - резинку растянули до 14 см. Положение червяка 1 см умножить на 2, так как 14 см разделить на 7 см - будет 2. Всё, как он мне объяснил.

Я так понимаю что нам после каждой минуте нужно длину резинки делить на длину резинки минутой ранее, то есть 21/14, 28/21, 35/28 и т.д. И умножать это число на число положения червяка в данный момент.

Мне тоже это показалось странным. Но препод такой, что не засчитает задачу если я не сделаю её так как у него в голове.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
07.12.2012, 18:43     Вывод на экран кол-во прохождений цикла while #7
Вроде все понятно, но в уме не укладывается(((
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
07.12.2012, 18:58  [ТС]     Вывод на экран кол-во прохождений цикла while #8
Цитата Сообщение от sovaz1997 Посмотреть сообщение
Вроде все понятно, но в уме не укладывается(((
Да согласен. Да в принципе, если кодить так как сказал препод, то я сделал так. Но в вопрос: когда червяк доберётся до конца резинки ?

Я пытался просто математически решить эту задачу, это сделать возможно, но есть проблема с числом, которое получается при делении. Там сначала 14/7=2, 21/14=1,5, 28/21=1,33333... и дальше число уменьшается.

В общем, мне нужен счётчик, который выведет на экран кол-во пройденных циклов. А там будет ясно. Такое возможно реализовать ?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
07.12.2012, 18:59     Вывод на экран кол-во прохождений цикла while #9
Вроде да.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 19:04     Вывод на экран кол-во прохождений цикла while
Еще ссылки по теме:

С помощью цикла for вычислить и вывести на экран геометрическую прогрессию 1, 2, 4, 8, 16, 32 C++
C++ Нахождение отрицательного цикла в графе и вывод цикла
Вывод содержимого vector при наличии бесконечного цикла C++

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

Или воспользуйтесь поиском по форуму:
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
07.12.2012, 19:04  [ТС]     Вывод на экран кол-во прохождений цикла while #10
Цитата Сообщение от sovaz1997 Посмотреть сообщение
Вроде да.
Окей. Тогда как ?
Yandex
Объявления
07.12.2012, 19:04     Вывод на экран кол-во прохождений цикла while
Ответ Создать тему
Опции темы

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