Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
amarok05
0 / 0 / 0
Регистрация: 22.02.2016
#1

Школа и дом Петра находятся на одной стороне улицы, надо узнать их номера. - C++

23.05.2014, 11:34. Просмотров 709. Ответов 1
Метки нет (Все метки)

Школа и дом Петра находятся на одной стороне улицы. Од*нажды по дороге в школу он стал складывать номера домов, мимо которых проходил на своей стороне улицы, начиная с номера своего дома. Когда сумма номеров оказалась равной 99, Петр пе*решел через поперечную улицу. После этого он начал заново скла*дывать номера домов, мимо которых проходил, и при сумме 117 перешел через еще одну поперечную улицу. Петр и в следующем квартале складывал номера домов. Сумма номеров домов третьего квартала оказалась равной 235, включая номер дома школы. Каков номер дома Петра? Каков номер дома школы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 11:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Школа и дом Петра находятся на одной стороне улицы, надо узнать их номера. (C++):

На какой стороне улицы проживает больше жителей? - C++
известно число жителей проживающих в каждом доме. Нумерация домов проведена подряд. Дома с нечётными номерами расположены на одной стороне...

Определить на какой стороне улицы проживает больше жителей - C++
2. Известно число жителей, проживающих в каждом доме улицы. Нумерация домов проведена подряд. Дома с нечетными номерами расположены на...

Известно число жителей в каждом доме улицы. На какой стороне улицы проживает больше жителей - Turbo Pascal
4. Известно число жителей, проживающих в каждом доме улицы. Нумерация домов проведена подряд. Дома с нечетными номерами расположены на...

Находятся ли обе точки на одной стороне прямой - Геометрия
Здравствуйте! Задача такова: Проверить, обе ли точки А(-5; 2) и B(2; 0) находятся на одной стороне прямой, проходящей через точки C(1; 2)...

Дом - Школа - Дом - Turbo Pascal
Мальчик Вася каждый день ездит на метро. Утром он едет в школу, а вечером того же дня, обратно из школы, домой. Для того, чтобы немного...

На какой стороне улицы проживает больше жителей? - C#
Известно число жителей, проживающих в каждом доме улицы. Нумерация домов проведена подряд. Дома с нечетными номерами расположены на одной...

1
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
24.05.2014, 05:31 #2
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
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/////////////////////////////////////////////////////////////////////////////////////////
// Школа и дом Петра находятся на одной стороне улицы. Од*нажды по дороге в школу он стал 
//складывать номера домов, мимо которых проходил на своей стороне улицы, начиная с номера 
//своего дома. Когда сумма номеров оказалась равной 
//  99, 
//Петр пе*решел через поперечную улицу. 
//После этого он начал заново скла*дывать номера домов, мимо которых проходил, и при сумме 
//  117 
//перешел через еще одну поперечную улицу. Петр и в следующем квартале складывал номера домов. 
//Сумма номеров домов третьего квартала оказалась равной 
//  235, 
//включая номер дома школы. 
//Каков номер дома Петра? Каков номер дома школы? 
/////////////////////////////////////////////////////////////////////////////////////////
#include <conio.h>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
int const   BUILD_NUM_STEP  =   2;
/////////////////////////////////////////////////////////////////////////////////////////
bool  successfully_completed_block
    (
        int         first_num_in_block,
        int         block_sum,
        int     &   last_num_in_block
    )
{
    bool    bool_res;
    int     sum         =   0;
 
    for (
            int
            cur_num     =   first_num_in_block;
            sum         <=  block_sum;
            cur_num     +=  BUILD_NUM_STEP
        )
    {
        sum         +=  cur_num;
        bool_res    =   sum == block_sum;
 
        std::cout   <<  "#"
                    <<  cur_num
                    <<  '\t'
                    <<  "sum = "
                    <<  sum
                    <<  std::endl;
 
        if( bool_res )
        {
            std::cout           <<  std::endl;
            last_num_in_block   =   cur_num;
            break;
        }//if
    }//for
 
    return  bool_res;
}
/////////////////////////////////////////////////////////////////////////////////////////
bool  successfully_from_3_block_sums_get_Peter_and_school_building_numbers
    (
        int         block_sum_1,
        int         block_sum_2,
        int         block_sum_3,
        int     &   Peter_building_number,
        int     &   school_building_number
    )
{
    bool    bool_res    =   false;
 
    int     sum_1       =   0;
    int     sum_2       =   0;
    int     sum_3       =   0;
 
    for (
            Peter_building_number   =   1;
            Peter_building_number   <   block_sum_1; 
            ++Peter_building_number
        )
    {
        int     last_num_in_first_block     =   0;
        int     last_num_in_second_block    =   0;
 
        std::cout   <<  std::endl
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl
                    <<  "Очередной заход Петра:"
                    <<  std::endl;
 
        bool_res    =       successfully_completed_block
                                (
                                    Peter_building_number,
                                    block_sum_1,
                                    last_num_in_first_block
                                )
 
                        &&  successfully_completed_block
                                (
                                    last_num_in_first_block + BUILD_NUM_STEP,
                                    block_sum_2,
                                    last_num_in_second_block
                                )
 
                        &&  successfully_completed_block
                                (
                                    last_num_in_second_block + BUILD_NUM_STEP,
                                    block_sum_3,
                                    school_building_number
                                );
 
        if( bool_res )
        {
            break;
        }
    }//for
 
    return  bool_res;
}
/////////////////////////////////////////////////////////////////////////////////////////
int  main()
{
    std::locale::global(std::locale(""));
 
    int     block_sum_1             =   99;
    int     block_sum_2             =   117;
    int     block_sum_3             =   235;
 
    int     Peter_building_number   =   0;
    int     school_building_number  =   0;
 
    if  (
            successfully_from_3_block_sums_get_Peter_and_school_building_numbers
                (
                    block_sum_1,
                    block_sum_2,
                    block_sum_3,
                    Peter_building_number,
                    school_building_number
                )
        )
    {
        std::cout   <<  "Петр живет в доме под номером\t\t"
                    <<  Peter_building_number
                    <<  std::endl
                    <<  "Школа находится в доме с номером\t"
                    <<  school_building_number
                    <<  std::endl;
    }
    else
    {
        std::cout   <<  "Решение не найдено."
                    <<  std::endl;
    }//else
 
    getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2014, 05:31
Привет! Вот еще темы с ответами:

На какой стороне улицы проживает больше жителей? - Pascal
Чем можете помогите пожайлуста. Известно число жителей, проживающих в каждом доме улицы.Нумерация домов проведена подряд.Дома с нечетными...

На какой стороне улицы проживает больше жителей? - Python
Известно число жителей, проживающих в каждом доме улицы. Нумерация домов проведена подряд. Дома с нечетными номерами расположены на одной...

Подсчитать количество домов, расположенных на четной (нечетной) стороне улиц и вывести их адреса (улица, дом) на экран - Pascal ABC
Подсчитать количество домов, расположенных на четной (нечетной) стороне улиц и вывести их адреса (улица, дом) на экран.

Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся - C++
Входные данные: целочисленный массив А размером m х n, где m = 2, n = 4. Заменить отрицательные элементы суммой номера столбца и номера...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru