#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<b<<" "<<a;
return 0;
}
Замечание: обработка возможных ошибок исходных данных отсутствует.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in;
ofstream out;
int a = 5, b = 15, c;
int k[b-a+1];
for (int i=0; i<b-a+1; i++) k[i] = 0;
in.open("f.txt");
while(in >> c)
{
k[c-a]++;
}
for (int i=0; i<b-a+1; i++)
cout << i+a << " - " << k[i] << '\n';
in.close();
return 0;
}
Пример:
Содержимое файла f.txt:
7 10 15
8 7 7 10
Результат:
5 - 0
6 - 0
7 - 3
8 - 1
9 - 0
10 - 2
11 - 0
12 - 0
13 - 0
14 - 0
15 - 1
ГБАВ
Здесь фишка в том, что числа в ip-адресе не могут превышать 256, вот и всё:) Удачи!
Сначала запишем выражение в виде степеней двойки:
2^16096 - 2^3210 + 2^1024 - 2^7 + 2
Далее последовательно запишем представление числа по действиям:
1) 2^16096 = (в позиции 16096)10000...0
2^3210 = (в позиции 3210)10000...0
При их разности получится:
(16095)111111...111(3210)000...0
2) Прибавляем 2^1024 и получается (16095)111111...111(3210)000...01(1024)0....0
3) (16095)111111...111(3210)000...01(1023)1....1(7)0000000
4) (16095)111111...111(3210)000...01(1023)1....1(7)0000010
Вычисляем кол-о 1: 16095 - 3210 + 1 + 1023 - 7 + 1 + 1 = 13904
Элементарно!
1) Разбиваем 27 монет на 3 кучки по 9 монет. Сравниваем 2 кучки.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 9 монет, одна фальшивая. Осталось 2 взвешивания.
2) Точно также разбиваем 9 монет на 3 по 3 монеты и сравниваем две.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 3 монет, одна фальшивая. Осталось 1 взвешивание.
3) Сравниваем 2 монеты. Какая легче - та и фальшивая.
Если они равны, то фальшивая третья, которую не взвешивали.