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

разделить число на 2 части - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти максимальный http://www.cyberforum.ru/cpp-beginners/thread325205.html
В задаче предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти максимальный элемент.
C++ Работа с временем Доброе время суток! Допустим у я хочу ввести время начала, и время конца разговора. Нужно вывести длительность разговора. ну то что отнять это понятно, а вот можно ли время от времени отнимать? и как... http://www.cyberforum.ru/cpp-beginners/thread325204.html
Квадратную вещественную матрицу А раз C++
В задаче предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. Квадратную вещественную матрицу А размером N возвести в K-ю степень, т.е. вычислить: А1=А, А2=А•А,...
C++ Игнорирует строку с getline
Помогите советом что не правильно, почему не работает ) при создании 1-й записи все проходит нормально, при попытке добавить вторую и далее, запрос фамилии, проскакивает и спрашивает сразу имя,...
C++ TFileStream: как подключить класс?? http://www.cyberforum.ru/cpp-beginners/thread325186.html
Доброго всем времени суток!! тут я курсач пишу и вообщем возникла проблемка ... TFileStream *file = new TFileStream(Name,fmOpenRead); int sz=file->Size; byte *b = new byte;...
C++ Добавить в однонаправленный (двунаправленный) список элемент с заданным номером Добавить в однонаправленный (двунаправленный) список элемент с заданным номером подробнее

Показать сообщение отдельно
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.06.2011, 07:39
Цитата Сообщение от grizlik78 Посмотреть сообщение
OstapBender, на самом деле можно и char[] заиспользовать. Мне вот что-то интересно стало, что использовали составители программ короче 180 символов?
Чёт бился-бился, а так и не удалось ужать короче 212 непробельных символов, так чтобы программа оставалась синтаксически корректной. Да и то ценой неуказания типа main, на что GCC выдаёт предупреждение. А так и вовсе 215 получится. Эх...

Добавлено через 6 минут
Хотя вот заголовок cstdio при подключённом fstream оказался не нужен. Не знаю, можно ли на это рассчитывать. Но теперь получается 196 (199).
А я попал в топ =) Только выдирать свое решение из топа не стал, тем более что понятно в нем чуть более, чем ничего. Вот первоначальный вариант, нашел на убитом разделе с виндой, писал месяца 3 назад =)
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
#include <iostream>
using namespace std;
main(){
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int a,b,c,d,i,r1,l1,r2,l2,j;
    cin >> b;
    for (j = 0; j < b; j++) {
        cin >> a;
        c=a;
        a++;
        r1=0;
        for (i = 0; i < 3; i++)  {
            d=a%10;
            a/=10;
            r1+=d;
        }
        l1=0;
        for (i = 0; i < 3; i++) {
            d=a%10;
            a/=10;
            l1+=d;
        }
        c--;
        r2=0;
        for (i = 0; i < 3; i++)  {
            d=c%10;
            c/=10;
            r2+=d;
        }
        l2=0;
        for (i = 0; i < 3; i++) {
            d=c%10;
            c/=10;
            l2+=d;
 
        }
        if ((l1==r1)||(l2==r2)) cout << "Yes" << endl; else cout << "No" << endl;
    }
 
    return 0;
 
}
P.S. Но как меньше 180 символов сделать - для меня тоже загадка. Лунев вообще читер, он почти во всех задачах топ1.

Добавлено через 1 час 24 минуты
Впрочем, у меня только 3е место (204 символа), поэтому выкладываю. Просьба не сдавать этот исходник =)
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <fstream>
#define x(z) for ( i = l = r = 0; z; z /= 10)     (i++ < 3  ? r : l) += z % 10;
int c, a,  l, r, i;
main(){
    std::fstream v("input.txt");
    std::ofstream o("output.txt");
    for (v >> c; v >> a; o << (l == r?"Yes ":"No ")){
        c = a--+1;
        x(c)
        if ( l != r) x(a)
    }
}
Добавлено через 4 минуты
Впрочем, я еще на 5 символов сжал (теперь 199), так что можете сдавать, только это останется на вашей совести =)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru