Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112

На сколько дней студенту хватит стипендии S, если он тратит N руб. в день и его расходы увеличиваются в X раз?

21.09.2010, 12:52. Показов 2646. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На сколько дней студенту хватит стипендии S, если он тратит N р. в день и его расходы каждый день увеличиваются в X раз?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2010, 12:52
Ответы с готовыми решениями:

Через сколько дней уровень загрязнения воды отходами уменьшится в N раз, если каждый день он уменьшается на P%
Всем привет. В общем нужна помощь в решении задачи. Нужно на завтра, буду весьма благодарен за помощь :good: Составьте программу, которая...

Сколько времени потребуется агенту для вскрытия сейфа, если на наборе одного числа он тратит t секунд
Чтобы открыть секретный сейф, агент 007 должен в возрастающем порядке набирать все трехзначные числа, в записи которых нет одинаковых...

Определить, на сколько дней хватит подкормки для животноводческой фермы?
Поле,отведенное для зеленой подкормки скота,имеет форму пятиугольника.Определить,на сколько дней хватит подкормки для животноводческой...

11
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.09.2010, 13:04
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
0
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
21.09.2010, 13:43  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
а можно было осуществить с использованием циклов for и while осуществить это решение?
0
 Аватар для LineStown
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
21.09.2010, 14:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    double s,n,x;
    int c=0;
    cout << "Введите стипендию: ";
    cin >> s;
    cout << "Введите ежедневную сумму затрат: ";
    cin >> n;
    cout << "Введите множитель затрат: ";
    cin >> x;
    while(s>=n)
    {
        c++;
        s-=n;
        n*=x;
    }
    cout << "Стипендии хватит на : " << c << " дней\nОстанется: " << s << endl;
    return EXIT_SUCCESS;
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.09.2010, 17:00
Цитата Сообщение от shyrik2014 Посмотреть сообщение
а можно было осуществить с использованием циклов for и while осуществить это решение?
да хоть
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
/*
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
*/
    days = 0;
loop:
    if ( s - n >= 0.0 ) {
        days = days + 1;
        s = s - n;
        n = n * x;
        goto loop;
    }
 
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
0
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
24.09.2010, 00:49  [ТС]
Цитата Сообщение от shyrik2014 Посмотреть сообщение
а можно было осуществить с использованием циклов for и while осуществить это решение?
Цитата Сообщение от easybudda Посмотреть сообщение
да хоть
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
/*
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
*/
    days = 0;
loop:
    if ( s - n >= 0.0 ) {
        days = days + 1;
        s = s - n;
        n = n * x;
        goto loop;
    }
 
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
с циклом for ввожу стипендию в 150000, затраты каждый день 5000 , увеличение в 2 раза прописываю, как получается что её хватает на 5 дней? а с циклом while пишет что хватает на 4 дня и остаётся 75000
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
24.09.2010, 01:39
Цитата Сообщение от shyrik2014 Посмотреть сообщение
с циклом for ввожу стипендию в 150000, затраты каждый день 5000 , увеличение в 2 раза прописываю, как получается что её хватает на 5 дней? а с циклом while пишет что хватает на 4 дня и остаётся 75000
Не знаю, что Вы там как делаете, вот вывод понагляднее сделал - те же 4 дня и 75000 в остатке
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    printf("\nDay #        Spent      Remains\n----------------------------------------\n");
    for ( days = 0; s - n >= 0; ++days, n *= x ){
        s -= n;
        printf("%5d   %10.2f   %10.2f\n", days + 1, n, s);
    }
        
    printf("\n----------------------------------------\nEnough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
просто из любопытства - а где это такие стипендии?
2
38 / 38 / 10
Регистрация: 02.06.2010
Сообщений: 105
24.09.2010, 01:47
Цитата Сообщение от easybudda Посмотреть сообщение
просто из любопытства - а где это такие стипендии?

Не по теме:

это в копейках ;)

0
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
24.09.2010, 12:06  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}

Эта программа даёт следующий результат:



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
int main()
{
double s,n,x;
int c=0;
cout <<"S=";
cin>>s;
cout<<"N=";
cin>>n;
cout<<"x=";
cin>>x;
while (s>=n)
{
c++;
s-=n;
n*=x;
}
cout<<"Stipendii xvatit na:"<<c<<"dney\nOstaetsya:"<<s<<endl;
return 0;
}
Эта программа даёт этот результат:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    printf("\nDay #        Spent      Remains\n----------------------------------------\n");
    for ( days = 0; s - n >= 0; ++days, n *= x ){
        s -= n;
        printf("%5d   %10.2f   %10.2f\n", days + 1, n, s);
    }
        
    printf("\n----------------------------------------\nEnough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
А последняя даёт 3-тий результат:
3 программы совершенно по иному работают, это связано что они написаны с разными циклами или в чём дело?
Миниатюры
На сколько дней студенту хватит стипендии S, если он тратит N руб. в день и его расходы увеличиваются в X раз?   На сколько дней студенту хватит стипендии S, если он тратит N руб. в день и его расходы увеличиваются в X раз?   На сколько дней студенту хватит стипендии S, если он тратит N руб. в день и его расходы увеличиваются в X раз?  

0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
24.09.2010, 12:28
shyrik2014, а у меня все три с одинаковым успехом одно и то же вывели:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
~/cpp/other/stip $ cat stip01.c 
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
 
~/cpp/other/stip $ gcc -o stip01 stip01.c 
~/cpp/other/stip $ cat stip02.cpp 
#include <iostream>
using namespace std;
int main()
{
double s,n,x;
int c=0;
cout <<"S=";
cin>>s;
cout<<"N=";
cin>>n;
cout<<"x=";
cin>>x;
while (s>=n)
{
c++;
s-=n;
n*=x;
}
cout<<"Stipendii xvatit na:"<<c<<"dney\nOstaetsya:"<<s<<endl;
return 0;
}
~/cpp/other/stip $ g++ -o stip02 stip02.cpp 
~/cpp/other/stip $ cat stip03.c 
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    printf("\nDay #        Spent      Remains\n----------------------------------------\n");
    for ( days = 0; s - n >= 0; ++days, n *= x ){
        s -= n;
        printf("%5d   %10.2f   %10.2f\n", days + 1, n, s);
    }
 
    printf("\n----------------------------------------\nEnough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
~/cpp/other/stip $ gcc -o stip03 stip03.c 
~/cpp/other/stip $ ./stip01
S = 150000
N = 5000
X = 2
Enough for 4 days, and 75000.00 money left.
~/cpp/other/stip $ ./stip02
S=150000
N=5000
x=2
Stipendii xvatit na:4dney
Ostaetsya:75000
~/cpp/other/stip $ ./stip03
S = 150000
N = 5000
X = 2
 
Day #        Spent      Remains
----------------------------------------
    1      5000.00    145000.00
    2     10000.00    135000.00
    3     20000.00    115000.00
    4     40000.00     75000.00
 
----------------------------------------
Enough for 4 days, and 75000.00 money left.
~/cpp/other/stip $
Цитата Сообщение от shyrik2014 Посмотреть сообщение
3 программы совершенно по иному работают, это связано что они написаны с разными циклами или в чём дело?
Самому интересно, может разные данные вводите? Судя по последнему скрину там вообще в минус деньги ушли - это как?
ЗЫ все три программы скопировал отсюда, единственное, что поправил - во второй вместо
C++
1
#include <iostream.h>
написал
C++
1
2
#include <iostream>
using namespace std;
g++ старый синтаксис заголовков отказывается принимать. Сами же циклы во всех трёх программах делают абсолютно одно и то же. s>=n по сути то же, что и s - n >= 0, если отрицательными числами не заморачиваться...
0
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
24.09.2010, 12:54  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
shyrik2014, а у меня все три с одинаковым успехом одно и то же вывели:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
~/cpp/other/stip $ cat stip01.c 
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    for ( days = 0; s - n >= 0; ++days, n *= x )
        s -= n;
    printf("Enough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
 
~/cpp/other/stip $ gcc -o stip01 stip01.c 
~/cpp/other/stip $ cat stip02.cpp 
#include <iostream>
using namespace std;
int main()
{
double s,n,x;
int c=0;
cout <<"S=";
cin>>s;
cout<<"N=";
cin>>n;
cout<<"x=";
cin>>x;
while (s>=n)
{
c++;
s-=n;
n*=x;
}
cout<<"Stipendii xvatit na:"<<c<<"dney\nOstaetsya:"<<s<<endl;
return 0;
}
~/cpp/other/stip $ g++ -o stip02 stip02.cpp 
~/cpp/other/stip $ cat stip03.c 
#include <stdio.h>
 
int main(void){
    double s, n, x;
    int days;
 
    printf("S = ");
    scanf("%lf", &s);
    printf("N = ");
    scanf("%lf", &n);
    printf("X = ");
    scanf("%lf", &x);
 
    printf("\nDay #        Spent      Remains\n----------------------------------------\n");
    for ( days = 0; s - n >= 0; ++days, n *= x ){
        s -= n;
        printf("%5d   %10.2f   %10.2f\n", days + 1, n, s);
    }
 
    printf("\n----------------------------------------\nEnough for %d days, and %.2f money left.\n", days, s);
 
    return 0;
}
~/cpp/other/stip $ gcc -o stip03 stip03.c 
~/cpp/other/stip $ ./stip01
S = 150000
N = 5000
X = 2
Enough for 4 days, and 75000.00 money left.
~/cpp/other/stip $ ./stip02
S=150000
N=5000
x=2
Stipendii xvatit na:4dney
Ostaetsya:75000
~/cpp/other/stip $ ./stip03
S = 150000
N = 5000
X = 2
 
Day #        Spent      Remains
----------------------------------------
    1      5000.00    145000.00
    2     10000.00    135000.00
    3     20000.00    115000.00
    4     40000.00     75000.00
 
----------------------------------------
Enough for 4 days, and 75000.00 money left.
~/cpp/other/stip $
Самому интересно, может разные данные вводите? Судя по последнему скрину там вообще в минус деньги ушли - это как?
ЗЫ все три программы скопировал отсюда, единственное, что поправил - во второй вместо
C++
1
#include <iostream.h>
написал
C++
1
2
#include <iostream>
using namespace std;
g++ старый синтаксис заголовков отказывается принимать. Сами же циклы во всех трёх программах делают абсолютно одно и то же. s>=n по сути то же, что и s - n >= 0, если отрицательными числами не заморачиваться...
Данные ввожу одни и те же, вижу что у вас получается одно и то же, а про минус это да, в минус в одной из программ ушло)) попробую ещё всё тщательно переписать

Добавлено через 9 минут
easybudda, Прогнал эти программы, тоже самое, я думаю может это из-за компилятора Dos происходит?
0
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
24.09.2010, 22:43  [ТС]
Цитата Сообщение от shyrik2014 Посмотреть сообщение
Данные ввожу одни и те же, вижу что у вас получается одно и то же, а про минус это да, в минус в одной из программ ушло)) попробую ещё всё тщательно переписать

Добавлено через 9 минут
easybudda, Прогнал эти программы, тоже самое, я думаю может это из-за компилятора Dos происходит?
Прогрмму прописывал несколькос раз, а такойй мизерной ошибки как ; после цикла for не заметил, как знал что мелочь косячит весь результат, спасибо easybudda !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2010, 22:43
Помогаю со студенческими работами здесь

Нормальная сборка? На сколько хватит? Какую видеокарту взять до 10000 руб.
Корпус- Thermaltake V5 Black Edition VL70001W2Z Black Процессор - Intel Core i7 - 2600k BOX Мать - MSI P67A-GD65 (B3) Память -...

Определите, сколько проживет таракан, если после 12 дней в одной и тоже квартире его находят и убивают
Таракан пробегает из одной квартиры в квартиру с вероятностью 20% в день(для определения факта миграции используйте генератор случайных...

Создайте приложения для расчета дней до стипендии, если студент её получает 1 числа каждого месяца
1. Создайте приложения для расчета дней до стипендии, если студент её получает 1 числа каждого месяца. Delphi 10 Seattle.

Ежемесячная стипендия студента составляет А руб., а расходы на проживание превышают стипендию и составляют В руб. в месяц.
Ежемесячная стипендия студента составляет А руб., а расходы на проживание превышают стипендию и составляют В руб. в месяц.Рост цен...

Хватит ли ткани если первый кусок имеет длину R метров. Если хватит, выведите 1, иначе 0.
Здравствуйте все! Случилось непредвиденное, вновь приходится учиться заочно, а в паскале полнейший нуль. Ребята кто нибудь помогите...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru