Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nazerke
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 24
#1

Автопробег - C++

18.07.2013, 18:14. Просмотров 1551. Ответов 16
Метки нет (Все метки)

Пожалуйста,помогите решить эту задачу.

За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров?
Программа получает на вход числа n и m.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

Примеры

входные данные
700
750
выходные данные
2

входные данные
700
2100
выходные данные
3
http://www.cyberforum.ru/delphi-networks/thread1111450.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
18.07.2013, 23:58 #2
Цитата Сообщение от nazerke Посмотреть сообщение
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами
Если только if, то можно воспользоваться тернарной условной операцией Конечно, если на си-подобном синтаксисе (ну или где есть тернарные операторы)..
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int m, n;
    
    printf("\nKm/день\tДлина маршрута\n");
    scanf("%d %d", &n, &m);
 
    printf( "\n%d\n", m / n + (m % n == 0 ?  0 : 1) );
    
    return 0;
}
Добавлено через 1 минуту
даже можно и без нее обойтись
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int m, n;
    
    printf("\nВ день\tДлина маршрута\n");
    scanf("%d %d", &n, &m);
    
    printf("\n%d\n", m / n + !(m % n == 0) );
    
    return 0;
}
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
19.07.2013, 14:35 #3
Цитата Сообщение от KOPOJI Посмотреть сообщение
C
1
printf("\n%d\n", m / n + !(m % n == 0) );
C
1
m / n + (m % n != 0)
0
KOPOJI
19.07.2013, 14:41
  #4

Не по теме:

accept, ночь была на дворе

0
nazerke
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 24
19.07.2013, 17:43  [ТС] #5
Цитата Сообщение от Taatshi Посмотреть сообщение
nazerke, на каком языке программирования?

на с++

Добавлено через 50 минут
KOROJI можете помочь по коду программу на Dev-C++.Заранее спасибо!
Остальным тоже спасибо!
Я новичок по программированию,поэтому прощу помощь.Кто хочет,пусть поможет!
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
19.07.2013, 17:51 #6
Цитата Сообщение от nazerke Посмотреть сообщение
можете написать программу на Dev-C++
неа, у меня ее нет. Как-то так..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int m, n;
    
    std::cout << "В день\n";
    std::cin >> n;
    std::cout << "Длина маршрута\n";
    std::cin >> m;
    
    std::cout << ( m / n + (m % n != 0) );
    
    return 0;
}
1
nazerke
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 24
19.07.2013, 18:22  [ТС] #7
KOROJI не получается. Но все равно большое спасибо!
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
19.07.2013, 18:32 #8
Цитата Сообщение от nazerke Посмотреть сообщение
не получается
Что конкретно?
0
drevmix
3 / 3 / 2
Регистрация: 31.05.2013
Сообщений: 25
19.07.2013, 18:47 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 using namespace std;
int main()
{
    int m, n;
    
    cout << "В день"<<endl;
    cin >> n;
    cout << "Длина маршрута"<<endl;
    cin >> m;
    cout << ( m / n + (m % n != 0) );
    system("pause");
    return 0;
}
tak?
0
salam
174 / 155 / 28
Регистрация: 10.07.2012
Сообщений: 766
19.07.2013, 18:55 #10
насколько я понимаю, суть в том, чтобы воспользоваться ceil().

Добавлено через 3 минуты
на Dev-C++ вроде скомпилируется так:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <math.h>
#include <iostream>
using namespace std;
 
int main() {
   int n, m;
   cin >> n >> m;
   cout << ceil((double)m / (double)n) << endl;
   system("pause");
   return 0;
}
Добавлено через 5600000000 секунд
если не скомпилирует, выложите сообщение компилятора.
0
nazerke
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 24
23.07.2013, 14:10  [ТС] #11
Спасибо,KOROJI,отредактировала все получилось! Спасибо всем!
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2013, 14:13 #12
C++
1
m / n + !!(m % n)
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
23.07.2013, 19:14 #13
Цитата Сообщение от Thinker Посмотреть сообщение
C
1
!!(m % n)
это три операции

C
1
m % n != 0
это две операции
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2013, 19:26 #14
Цитата Сообщение от accept Посмотреть сообщение
это три операции

C
1
m % n != 0
это две операции

Не по теме:

и что теперь? это же не навязывание, а один из вариантов. давайте еще символы подсчитаем в выражениях. и вообще в этой задаче можно одним делением обойтись. а толку. вопрос еще и в красоте кода, эстетика. по каким еще параметрам вам код обойдет мой? возможно, по всем. и что сейчас?

0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
23.07.2013, 19:53 #15
Не проще так: (m + n - 1) / n
1
salam
174 / 155 / 28
Регистрация: 10.07.2012
Сообщений: 766
23.07.2013, 19:55 #16
Цитата Сообщение от lazybiz Посмотреть сообщение
Не проще так: (m + n) / n
проще, но неправильно...
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2013, 20:04 #17
Цитата Сообщение от lazybiz Посмотреть сообщение
Не проще так: (m + n - 1) / n
проще и правильно

Не по теме:

специально для accept добавлю модификации:
m / n + (m % n > 0);
m / n + (m % n || 0);
m / n + (m % n && 1);

0
23.07.2013, 20:04
Ответ Создать тему
Опции темы

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