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

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

Войти
Регистрация
Восстановить пароль
 
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 307
#1

Районная олимпиада по программированию 2011-12 (ошибка!) - C++

08.06.2014, 22:57. Просмотров 167. Ответов 0
Метки нет (Все метки)

Похоже что я нашел ошибку помогите мне подтвердив ее или опровергнуть
вот задача !
Для иллюстрации метода математической индукции в учебниках времен СССР всегда приводилась следующая задача: «Доказать, что любую целую сумму денег, начиная с 8 руб., Можно без сдачи разменять купюрами по 3 и 5 руб.». Вам не нужно ничего доказывать, а необходимо просто написать программу, которая для двух типов купюр по Х и Y денежных единиц определяла бы, какую наибольшую сумму денег невозможно разменять этими купюрами, если Х и Y - взаимно простые натуральные числа.

Тести до задачі “CHANGE”

№тесту____Вхідні_дані______Результат_______Оцінка_________________________________________________________
1_________3_5_____________7______________2_бали_________________________________________________________
2_________1_73____________0______________7_балів________________________________________________________
3_________24_17___________367____________7_балів________________________________________________________
4_________999_1001________994999_________7_балів________________________________________________________
5_________46342_46341_____2147441939_____7_балів________________________________________________________

999 и 1001 у меня получилось 997999

сайт олимпиады - http://osvita-tomakivka.dp.ua/zavdan...rogramuvannja/

1 программа
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
//1 do 46342
#include <iostream>
#include <conio.h>
using namespace std;
 
const double MAX = 999;
long int x, y;
double mas;
 
inline bool oneone(double k)
{
    double X;
    X = x;
    for (double i = 0; i < MAX; i++)
    {
        if (X == k)
        {
            return 1;
        }
        if (X > k)
            break;
        X += x;
    }
    return 0;
}
 
inline bool twotwo(double k)
{
    double Y;
    Y = y;
    for (double i = 0; i < MAX; i++)
    {
        if (Y == k)
        {
            return 1;
        }
        if (Y > k)
            break;
        Y += y;
    }
    return 0;
}
 
inline bool onetwo(double k)
{
    double X, XX, i;
    X = x;
    XX = x;
    Pochtok :
    for (i = 0; i < MAX; i++)
    {
        if (X == k)
        {
            return 1;
        }
        if (X > k)
            break;
        X += y;
    }
    if (XX >= MAX || XX > k)
    return 0;
    XX += x;
    X = XX;
    goto Pochtok;
}
 
inline bool twoone(double k)
{
    double Y, YY, i = 0;;
    Y = y;
    YY = y;
    Pochtok :
    for (i = 0; i < MAX; i++)
    {
        if (Y == k)
        {
            return 1;
        }
        if (Y > k)
            break;
        Y += x;
    }
    if (Y >= MAX || YY > k)
    return 0;
    YY += y;
    Y = YY;
    goto Pochtok;
}
 
int main()
{
    double m = 0;
    bool k;
    cout << "Enter X ->";
    cin >> x;
    cout << "Enter Y ->";
    cin >> y;   
    long int i;
    if (x > y)
        i = x;
    else
        i = y;
    if (x <= 0 || x > 46342 || y <= 0 || y > 46342)
    {
        cout << "Erorr (1 do 46342)";
        getch();
        return 0;
    }
    for (; i < MAX; i++)
    {
        if (x % 2 == 0 && i % 2 == 0)
        {
            k = oneone(i);
            if (k == 1)
                continue;
        }
        if (y % 2 == 0 && i % 2 == 0)
        {
            k = twotwo(i);
            if (k == 1)
                continue;
        }
        k = onetwo(i);
        if (k == 1)
            continue;
        k = twoone(i);
        if (k == 1)
            continue;
        mas=i;
    }
    cout <<"Max number = "<< mas;
    getch();
    return 0;
}
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    long int x, y, Suma;
    cout << "Enter X ->";
    cin >> x;
    cout << "Enter Y ->";
    cin >> y;
    if (x <= 0 || x > 46342 || y <= 0 || y > 46342)
    {
        cout << "Erorr (1 do 46342)";
        getch();
        return 0;
    }
    Suma = (x*y) - (x + y);
    if (Suma>0)
    cout <<"Mix sum = "<< Suma;
    else
        cout <<"Mix sum = 0";
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 22:57     Районная олимпиада по программированию 2011-12 (ошибка!)
Посмотрите здесь:

Олимпиада по программированию - C++
28 апреля государственный тур олимпиада по программированию (в Армении), и я готовлюсь к олимпиаде. Прошу вас, если несложно дайте задач...

Международная олимпиада по программированию 1994г. Задач "Матрица простых чисел". - C++
Всем привет:) Решаю олимпиадные задачки прошлых годов и никак не получается решить эту. Задача: напишите написать программу , которая...

Ошибка LNK 2019 - C++ (Visual Studio 2011) - C++
Доброго времени суток. Помогите пожалуйста разобраться. Не удается запустить проект из 3-х файлов. Проект создавался &quot;пустой&quot;. Если весь...

Ошибка компиляции "This file requires compiler and library support for the ISO C++ 2011 standard" - C++
Здравствуйте! У меня проблема с компиляцией, выдает ошибку &quot; #error This file requires compiler and library support for the ISO C++ 2011...

Олимпиада - C++
Задача 1. Поезда (20 баллов) Участок железной дороги проходит через станции, пронумерованные от 1 до N. Из расписания движения поездов...

Олимпиада по информатике - C++
Вечер добрый! Кто, что может посоветовать для подготовки, может задачники какие или еще что? И по поводу городских олимпиад, можно ли...

прошедшая олимпиада 14-16.12.13 - C++
Добрый день, недавно я участвовал на олимпиаде вот на этом сайте http://contest.ncstu.ru. Первый тур я более менее прошёл, а вот со...

Школьная олимпиада - C++
http://s019.***********/i607/1210/4a/3b6bf193f9cb.png Вот задачи... Помогите, кто чем сможет! Мне срочно к завтра надо! А с++ совсем не...

Олимпиада 1999г. - C++
Помогите сделать курсач.

Школьная олимпиада по информатике - C++
Учу 1ый год C++. Точнее 2 недели. Работать могу пока что только с условными операторами(if,while,for). Не могу решить эти задачи Задачи....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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