Сумма максимума и минимума

АСМР

A+B

Требуется сложить два целых числа А и В.

Входные данные

В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел, не превышающих 109.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.

#include <iostream>

main()

{

int a,b;

std::cin>>a>>b;

std::cout<<a+b;

}

Алгоритм решения:

Вводим два числа, выводим их сумму.

сумма максимума и минимума - student2.ru

Игра

В свободное время одноклассники Вася и Петя любят играть в различные логические игры: морской бой, крестики-нолики, шахматы, шашки и многое другое. Ребята уже испробовали и поиграли во всевозможные классические игры подобного рода, включая компьютерные. Однажды им захотелось сыграть во что-нибудь новое, но ничего подходящего найти не удалось. Тогда Петя придумал следующую игру «Угадайка»: Играют двое участников. Первый загадывает любое трехзначное число, такое что первая и последняя цифры отличаются друг от друга более чем на единицу. Далее загадавший число игрок переворачивает загаданное число, меняя первую и последнюю цифры местами, таким образом получая еще одно число. Затем из максимального из полученных двух чисел вычитается минимальное. Задача второго игрока – угадать по первой цифре полученного в результате вычитания числа само это число. Например, если Вася загадал число 487, то перестановкой первой и последней цифры он получит число 784. После чего ему придется вычесть из 784 число 487, в результате чего получится число 297, которое и должен отгадать Петя по указанной первой цифре «2», взятой из этого числа. Петя успевает лучше Васи по математике, поэтому практически всегда выигрывает в играх такого типа. Но в данном случае Петя схитрил и специально придумал такую игру, в которой он не проиграет Васе в любом случае. Дело в том, что придуманная Петей игра имеет выигрышную стратегию, которая заключается в следующем: искомое число всегда является трехзначным и вторая его цифра всегда равна девяти, а для получения значения последней достаточно отнять от девяти первую, т.е. в рассмотренном выше случае последняя цифра равна 9-2=7. Помогите Пете еще упростить процесс отгадывания числа по заданной его первой цифре, написав соответствующую программу.

Входные данные.
В единственной строке входного файла INPUT.TXT задана единственная цифра К, соответствующая первой цифре полученного Васей в результате вычитания наименьшего загаданного Васей значения из наибольшего.

Выходные данные.
В выходной файл OUTPUT.TXT нужно вывести значение полученной Васей разности.

#include <iostream>

using namespace std;

main()

{

int a;

cin>>a;

cout<<a*99+99;

}

Алгоритм решения:

Вводим первую цифру числа - а, по алгоритму, описанному в условии задачи, находим необходимое число и выводим его.

сумма максимума и минимума - student2.ru

Арифметика

сумма максимума и минимума - student2.ru

Входные данные

Во входном файле INPUT.TXT записаны три натуральных числа A, B и C через пробел. Числа A и B <= 102, а C <= 106.

Выходные данные

В выходной файл нужно вывести YES в том случае, если A*B=C и вывести NO в противном случае.

#include <iostream>

using namespace std;

int main()

{

int a,b,c,d;

cin>>a>>b>>c;

d=a*b;

if (d==c) cout<<"YES";

else cout<<"NO";

return 0;

}

Алгоритм решения:

Вводится 3 числа, если произведение первых двух равняется третьему, то выводим YES, в противном случае NO

сумма максимума и минимума - student2.ru

Зарплата

В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.

Входные данные

В единственной строке входного файла INPUT.TXT записаны размеры зарплат всех сотрудников через пробел. Каждая заработная плата – это натуральное число, не превышающее 105.

Выходные данные

В выходной файл OUTPUT.TXT необходимо вывести одно целое число — разницу между максимальной и минимальной зарплатой.

Алгоритм решения:

Вводим три числа и сравниваем их. В max1 записываем наибольшее число, в min1 наименьшее. Выводим разницу между max1 и min1, то есть между сумма максимума и минимума - student2.ru наибольшим и наименьшим числом.

Больше - меньше

Одна из основных операций с числами – их сравнение. Мы подозреваем, что вы в совершенстве владеете этой операцией и можете сравнивать любые числа, в том числе и целые. В данной задаче необходимо сравнить два целых числа

Входные данные

В двух строчках входного файла INPUT.TXT записаны числа A и B, не превосходящие по абсолютной величине 2*109.

Выходные данные

Запишите в выходной файл OUTPUT.TXT один символ “<”, если A < B, “>”, если A > B и “=”, если A=B.

#include <iostream>

using namespace std;

main ()

{

long long a,b;

cin>>a>>b;

if (a>b) cout<<'>'; else

if (a==b) cout<<'=';else

cout<<'<';

}

Алгоритм решения:

Вводим два числа, если первое больше второго, выводим «>», иначе «<». Если они равны выводим «=».

сумма максимума и минимума - student2.ru

Два бандита

Бандиты Гарри и Ларри отдыхали на природе. Решив пострелять, они выставили на бревно несколько банок из-под кока-колы (не больше 10). Гарри начал простреливать банки по порядку, начиная с самой левой, Ларри — с самой правой. В какой-то момент получилось так, что они одновременно прострелили одну и ту же последнюю банку.

Гарри возмутился и сказал, что Ларри должен ему кучу денег за то, что тот лишил его удовольствия прострелить несколько банок. В ответ Ларри сказал, что Гарри должен ему еще больше денег по тем же причинам. Они стали спорить кто кому сколько должен, но никто из них не помнил сколько банок было в начале, а искать простреленные банки по всей округе было неохота. Каждый из них помнили только, сколько банок прострелил он сам.

Определите по этим данным, сколько банок не прострелил Гарри и сколько банок не прострелил Ларри.

#include <iostream>

using namespace std;

int main()

{ int a,b;

cin>>a>>b;

cout<<b-1<<' '<<a-1;

return 0;

}

Алгоритм решения:

Вводятся два числа : количество банок, простреленных Гарри и Ларри соответственно. Так как они прострелили одну и туже последнюю банку, то значит Гарри не прострелил столько банок, сколько прострелил Ларри, не учитывая их общую банку. Аналогично и с Ларри.

сумма максимума и минимума - student2.ru

Конечные автоматы

Однажды известный профессор обнаружил описания k конечных автоматов. По его мнению, нетривиальность конечного автомата, имеющего n состояний и m переходов, можно описать целым числом d = 19m + (n + 239)*(n + 366) / 2 . Чем больше d, тем больший интерес для науки представляет изучение его свойств.

Помогите профессору вычислить нетривиальность имеющихся у него автоматов.

#include <iostream>

using namespace std;

main()

{

int a,b,k,i;

cin>>k;

for(i=1;i<=k;i++)

{

cin>>a>>b;

cout<<(19*b+(a+239)*(a+366)/2)<<endl;

}

}

Алгоритм решения:

Вводим количество конечных автоматов - K. В цикле от 1 до k вводим два числа, вычисляем нетривиальность по заданной в задаче формуле и выводим полученное число.

сумма максимума и минимума - student2.ru

Нули

Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц.

#include<iostream>

#include<string>

using namespace std;

int main()

{

int b=0,max=0;

string a;

cin>>a; a+='1';

for(int i=0;i<a.size();i++)

{

if(a[i]=='0')b++;

if(a[i]=='1'){

if(max<b)max=b;

b=0;

}

}

cout<<max;

return 0;

}

Алгоритм решения:

Вводим строку нулей и единиц, дописываем в строку последним элементом единицу. Проходим по элементам всю строку, если элемент равен нулю, то увеличиваем счетчик b, затем сравниваем max с b. Если b больше max, то max = b. В конце в переменной b остается максимальное значение, поесть наибольшее количество нулей. После выхода из цикла выводим max.

сумма максимума и минимума - student2.ru

Число Е

Выведите в выходной файл округленное до n знаков после десятичной точки число E. В данной задаче будем считать, что число Е в точности равно 2.7182818284590452353602875.

#include <iostream>

using namespace std;

main()

{

int n,i;

cin>>n;

string s;

s="7182818284590452353602875";

if(n==0) cout<<3;

else

{

cout<<"2.";

for(i=0;i<n-1;i++) cout<<s[i];

if(s[n]>=‘5') cout<<s[n-1]+1-'0';

else cout<<s[n-1];

}

}

Алгоритм решения:

Вводим n количество знаков после запятой. S присваиваем дробную часть числа Е. Если n=0 , выводим 3. Иначе выводим «2.», затем выводим элементы строки до n-1, далее смотрим n-нный элемент, если n>=«5», то округляем в большую сторону s[n-1]+1-‘0’ (перевод символа в int), если нет то выводим s[n-1].

сумма максимума и минимума - student2.ru

Баскетбол

Известны результаты каждой из 4х четвертей баскетбольной встречи. Нужно определить победителя матча.

#include <iostream>

using namespace std;

int main()

{

int a, b, c, d, e, f, g, h,j,l;

cin >> a >> b >> c >> d >> e >> f >> g >> h;

j = a + c + e + g;

l = b + d + f + h;

if(j ==l)

cout <<"DRAW" << endl;

if(j > l)

cout << 1 << endl;

if(j<l)

cout << 2 << endl;

return 0;

}

Алгоритм решения:

Вводим восемь чисел. В j и l записываем сумму очков команд соответственно и сравниваем эти два числа. При равенстве выводим DRAW, если j>l выводим 1, иначе 2.

сумма максимума и минимума - student2.ru

Клавиатура

Для данной буквы латинского алфавита нужно вывести справа стоящую букву на стандартной клавиатуре. При этом клавиатура замкнута, т.е. справа от буквы «p» стоит буква «a», от буквы «l» стоит буква «z», а от буквы «m» — буква «q».

#include <iostream>

#include <string>

using namespace std;

int main()

{ int i; char c,x;

string a={'q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m','q'};

cin>>c;

for(i=0;i<=26;i++)

if(a[i]==c) {x=a[i+1];

break;}

cout<<x;

}

Алгоритм решения:

Вводим символ c. В строке а записана последовательность символов клавиатуры, последний символ равен первому, потому что клавиатура кольцевая. Дальше сравниваем введенный символ с символами строки, и после этого выводим a[i+1] символ.

сумма максимума и минимума - student2.ru

Дом - Школа - Дом

Мальчик Вася каждый день ездит на метро. Утром он едет в школу, а вечером того же дня, обратно из школы, домой. Для того, чтобы немного сэкономить, он покупает электронную смарт-карту на X поездок. Когда он хочет зайти в метро, он прикладывает карту к турникету. Если на карте осталось ненулевое количество поездок, то турникет пропускает Васю и списывает с карты одну поездку. Если же на карте не осталось поездок, то турникет не пропускает Васю, и он (Вася) вынужден купить на этой же станции новую карту на X поездок и вновь пройти через турникет.

Вася заметил, что в связи с тем, что утром метро переполнено, покупать новую карту утром накладно по времени, и он может опоздать в школу. В связи с этим он хочет понять: будет ли такой день, что с утра, поехав в школу, Вася обнаружит у себя на карточке ноль поездок.

Вася больше никуда на метро не ездит и поэтому заходит в метро только на станции около дома и на станции около школы.

#include <iostream>

#include <string>

using namespace std;

main()

{

string a;

int n;

cin>>a;

cin>>n;

if( a=="Home") { if(n%2==0) cout<<"Yes";

else cout<<"Yes";}

if(a=="School") { if(n%2==0) cout<<"No";

else cout<<"Yes";}

}

Алгоритм решения:

Вводим строку и число. Если строка равна «Home» ,то при этом условии у Васи будет день, когда у него утром на карте окажется 0 поездок, значит выводим Yes. Если строка равна School, и количество поездок делится на 2, выводим No, иначе

сумма максимума и минимума - student2.ru Yes.

Арбузы

Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает как же выбрать самый легкий и самый тяжелый арбуз? Помогите ему!

#include <iostream>

using namespace std;

main()

{

int i,n,max=0,min=30000,a;

cin>>n;

for(i=0;i<n;i++)

{ cin>>a;

if(a>=max) max=a;

if(a<=min) min=a;

}

cout<<min<<' '<<max;

}

Алгоритм решения:

Минимуму присваиваем максимальное значение, максимуму 0. Вводим n количество арбузов, в цикле от 0 до n вводим массу каждого арбуза. Дальше ищем максимальную и минимальную массу и записываем ее в max и min соответственно. После выхода из цикла выводим значения max и min.

сумма максимума и минимума - student2.ru

Журавлики

Петя, Катя и Сережа делают из бумаги журавликов. Вместе они сделали S журавликов. Сколько журавликов сделал каждый ребенок, если известно, что Петя и Сережа сделали одинаковое количество журавликов, а Катя сделала в два раза больше журавликов, чем Петя и Сережа вместе?

#include <iostream>

using namespace std;

main()

{

float s,a,b;

cin>>s;

a=s/6;

b=4*a;

cout<<a<<' '<<b<<' '<<a;

}

Алгоритм решения:

Вводим s - количество журавликов. а - число журавликов Пети(Сережи), 4а - число журавликов Кати. Всего 6а журавликов, поэтому а= S/6; b=4*a; Выводим количество журавликов, сделанных Петей, Катей и Сережей.

сумма максимума и минимума - student2.ru

Монетки

На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Определите минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной.

#include <iostream>

using namespace std;

int main()

{

int n, i, c0=0;

cin>>n;

int mass [n];

for (i=0; i<n; i++)

{

cin>>mass[i];

if (mass[i]==0)

c0++;

}

if (c0<(n-c0))

cout<<c0;

else

cout<<n-c0;

return 0;

}

Алгоритм решения:

Вводим общее количество мнет - n. В цикле от 0 до n заполняем массив, если элемент массива равен 0, увеличиваем счетчик с0, дальше выясняем чего больше 0 или 1.и выводим меньшее значение.

сумма максимума и минимума - student2.ru

Неглухой телефон

Возможно, что Вы когда то играли в игру «Глухой телефон», либо слышали о ней. В этой игре участникам приходится передавать информацию друг другу различными способами: словесно, образно, бывает даже приходится писать левой рукой текст, который другой участник команды должен будет прочитать. Так же известно, что практически никогда передаваемая информация не доходит до конечного адресата. Обозначим за Fi(x) функцию, которая преобразует текст передаваемой информации x в ту, которую получит участник i+1 от участника i. Тогда последний n-й участник получит данные y, которые будут выражаться следующей формулой:

y = Fn-1(Fn-2(…F2(F1(x))))

Но Вам необходимо исключить какие-либо внешние факторы, которые могут исказить исходную информацию и Вы должны реализовать программу «неглухой телефон», которая сможет безошибочно доставлять исходные данные, т.е. в нашем случае функция Fi(x) = x для всех i от 1 до n-1.

#include <iostream>

using namespace std;

main()

{int a;

cin>>a;

cout<<a;

}

Алгоритм решения:

Вводим а, выводим а.

сумма максимума и минимума - student2.ru

Перепись

В доме живет N жильцов. Однажды решили провести перепись всех жильцов данного дома и составили список, в котором указали возраст и пол каждого жильца. Требуется найти номер самого старшего жителя мужского пола.

#include <iostream>

using namespace std;

int main()

{

int max=0,n,v,i,s,k=0;

cin>>n;

for(i=1;i<=n;i++)

{

cin>>v>>s;

if(s==1) { if(v>max) {max=v; k=i;}}

}

if(max!=0) cout<<k;

else cout<<-1;

}

Вводим общее число жильцов - n. В цикле то 1 до n включительно, вводим возраст и пол человека , находим номер самого старшего мужчины в доме, если мужчин нет выводим -1. если в доме есть несколько мужчин с одинаковы возрастом, выводим того у кого меньший номер.

сумма максимума и минимума - student2.ru

Разворот

Дано натуральное число N и последовательность из N элементов. Требуется вывести эту последовательность в обратном порядке.

#include <iostream>

using namespace std;

main()

{

int n,i;

cin>>n;

int a[n];

if (n<=1000) {

for(i=1;i<=n;i++)

cin>>a[i];

for(i=n;i>0;i--)

cout<<a[i]<<" "; }

}

Алгоритм решения:

Вводим количество элементов n. В цикле от 1 до n включительно заполняем массив, после этого выводим элементы массива в цикле от n до 0.

сумма максимума и минимума - student2.ru

Эния

Неспокойно сейчас на стапелях шестого дока межгалактического порта планеты Торна. Всего через месяц закончится реконструкция малого броненесущего корвета “Эния”. И снова этому боевому кораблю и его доблестной команде предстоят тяжелые бои за контроль над плутониевыми рудниками Сибелиуса. Работа не прекращается ни на секунду, лазерные сварочные аппараты работают круглые сутки. От непрерывной работы плавятся шарниры роботов-ремонтников. Но задержаться нельзя ни на секунду.

И вот в этой суматохе обнаруживается, что термозащитные панели корвета вновь требуют срочной обработки сульфидом тория. Известно, что на обработку одного квадратного метра панели требуется 1 нанограмм сульфида. Всего необходимо обработать N прямоугольных панелей размером A на B метров. Вам необходимо как можно скорее подсчитать, сколько всего сульфида необходимо на обработку всех панелей “Энии”. И не забудьте, что панели требуют обработки с обеих сторон.

#include <iostream>

using namespace std;

int main()

{

int n,a,b,s;

s=0;

n<=100;

a<=100;

b<=100;

cin>>n>>a>>b;

s=a*b*n*2;

cout<<s;

return 0;

}

Алгоритм решения:

Вводим три числа, перемножаем их и умножаем на 2(так как обрабатываются с двух сторон).

сумма максимума и минимума - student2.ru

Автобусная экскурсия

Оргкомитет Московской городской олимпиады решил организовать обзорную экскурсию по Москве для участников олимпиады. Для этого был заказан двухэтажный автобус (участников олимпиады достаточно много и в обычный они не умещаются) высотой 437 сантиметров. На экскурсионном маршруте встречаются N мостов. Жюри и оргкомитет олимпиады очень обеспокоены тем, что высокий двухэтажный автобус может не проехать под одним из них. Им удалось выяснить точную высоту каждого из мостов. Автобус может проехать под мостом тогда и только тогда, когда высота моста превосходит высоту автобуса.

Помогите организаторам узнать, закончится ли экскурсия благополучно, а если нет, то установить, где произойдет авария.

#include <iostream>

using namespace std;

int main()

{

int n,i,a,x=437,k=0;

cin>>n;

for(i=0;i<n;i++)

{

cin>>a;

if(a<=x) {cout<<"Crash "<<i+1;

break;}

else k++;

}

if(n==k) cout<<"No crash";

}


Алгоритм решения:

Вводим количество мостов n. Дальше в цикле вводим высоту каждого моста, и сравниваем с предельной высотой. Если элемент больше или равен 437, выводим Crash и номер аварийного моста.Если цикл выполнится полностью выводим No crash.

сумма максимума и минимума - student2.ru

Метро

Витя работает недалеко от одной из станций кольцевой линии метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой.

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

int n,a,k,b,c;

cin>>a>>k>>n;

b=abs(n-k)-1;

c=a-b-2;

if(b<c) cout<<b;

else cout<<c;

}

Алгоритм решения:

Вводим три числа: количество станций, номер станции посадки, номер станции выхода. b - количество станций между работой и домом(с одной стороны), с- с другой.Выводим наименьшее из b и c.

сумма максимума и минимума - student2.ru

Оттепель

Уставшие от необычно теплой зимы, жители решили узнать, действительно ли это самая длинная оттепель за всю историю наблюдений за погодой. Они обратились к синоптикам, а те, в свою очередь, занялись исследованиями статистики за прошлые годы. Их интересует, сколько дней длилась самая длинная оттепель.

Оттепелью они называют период, в который среднесуточная температура ежедневно превышала 0 градусов Цельсия. Напишите программу, помогающую синоптикам в работе.

#include <iostream>

using namespace std;

int main()

{

int n,i,a,k=0,max,x=0;

cin>>n;

max=0;

for(i=1;i<=n;i++)

{cin>>a;

if(a>0) k++;

else k=0;

if(k>max) max=k;

}

cout<<max;

return 0;

}

Алгоритм решения:

Вводим количество элементов. В цикле от 1 до n включительно вводим значения температуры. Находим максимальное количество дней с положительной температурой: когда находится положительное число, увеличиваем счетчик k, и сравниваем его с max. И когда заканчивается цикл выводим max.

сумма максимума и минимума - student2.ru

Сумма максимума и минимума

Задана последовательность целых чисел. Числа нумеруются по порядку следования, начиная с единицы.

Требуется написать программу, которая найдет сумму максимума из чисел с четными номерами и минимума из чисел с нечетными номерами – max{a2, a4, …}+min{a1, a3, …}.

#include <iostream>

using namespace std;

int main() {

int mx = -10000, mn = 10000, a, k = 0;

while (cin >> a) {

k += 1;

if (k % 2 == 0) {

if (mx < a) mx = a;

} else { if (mn >a) mn = a; }}

cout << mn + mx;

return 0;

}

Алгоритм решения:

Пока происходит ввод чисел, увеличивается счетчик, который отвечает за номер элемента, если номер четный, то находим mx, если номер нечетный mn. Выводим сумму mn и mx.

сумма максимума и минимума - student2.ru

Школьная алгебра

Трёхчлен a + bx + сy от двух переменных x и y однозначно определяется коэффициентами a, b и c. Написать программу, которая по заданным a, b и c выводит соответствующий трёхчлен, записанный с использованием алгебраических соглашений:

коэффициент при члене, содержащем переменную, опускается, если его модуль равен единице;

член, коэффициент при котором равен нулю, опускается (кроме случая, когда все коэффициенты равны нулю, тогда трехчлен состоит из одной цифры 0);

знак "+" опускается, если он предшествует отрицательному коэффициенту;

знак "+" опускается, если он стоит в начале выражения (так называемый унарный плюс);

знак умножения между коэффициентом и переменной опускается.

Алгоритм решения:

Вводим три коэффициента. Если они все равны 0, выводим 0. Если а != 0 выводим а. Дальше если b != 0, следуем условиям, выводим b, аналогичные операции проводим с коэффициентом c.

сумма максимума и минимума - student2.ru

Подмассив массива

Пусть задан массив целых чисел а1, а2, ..., аn. Назовем его подмассивом f(i,j) массив, составленный из чисел массива аi, ai+1,..., aj-1, aj. Напишите программу, которая будет выводить подмассивы массива a.

#include <iostream>

using namespace std;

int main()

{

long long n,m,i,x,y,j;

int a[n+1];

cin>>n;

for(i=1;i<=n;i++)

cin>>a[i];

cin>>m;

for(i=1;i<=m;i++)

{ cin>>x>>y;

for(j=x;j<=y;j++)

cout<<a[j]<<" ";

cout<<endl;

}

}

Алгоритм решения:

Вводим количество элементов в массиве. В цикле от 1 до n включительно, заполняем массив. Дальше вводим количество пар, в цикле от 1 до m, вводим сами пары x и y. В цикле от x до y выводим элементы.

сумма максимума и минимума - student2.ru

Налоги

В некотором государстве действует N фирм, конкурирующих между собой. У каждой фирмы есть некоторая прибыль в год, равная V[i] американских рублей. У царя есть любимые фирмы, а есть нелюбимые. Соответственно, налог для всех фирм разный и назначается царем в индивидуальном порядке. Налог на i-ую фирму равен p[i] процентов.

Собиратели статистики решили посчитать, с какой фирмы в государственную казну идет наибольший доход (в казну идут все налоги). К сожалению, они не учили в детстве ни математику, ни информатику (так что учитесь, дети!), и их задача резко осложняется.

Помогите им в этой нелегкой задаче.

#include <iostream>

using namespace std;

int main()

{

int n,i,max=-1,k=0;

cin>>n;

int a[n],p[n],o[n];

for(i=1;i<=n;i++)

cin>>a[i];

for(i=1;i<=n;i++)

cin>>p[i];

for(i=1;i<=n;i++)

o[i]=a[i]*p[i];

for(i=1;i<=n;i++)

if(o[i]>max) {max=o[i]; k=i;}

cout<<k;

return 0;

}

В цикле от 1 до n включительно заполняем массив а[i] - прибыль i-ой фирмы, массив p[i] - процент на i-ую фирму. Массив o[i] заполняем налогом возложенным на i-ую фирму. В цикле от 1 до n включительно находим номер фирмы, имеющей максимальный налог. Выводим номер.

сумма максимума и минимума - student2.ru

Болты и гайки

Вновь созданная фирма купила заброшенные склады на окраине города. Новому заведующему складами поручили произвести учёт в короткие сроки. Всё шло хорошо, пока случайно не рассыпали контейнеры с болтами и гайками на каждом складе, после чего собрали их в общие (для болтов и гаек) контейнеры, потеряв при этом несколько деталей.

Помогите оценить нанесённый ущерб на каждом складе, приняв во внимание, что, помимо потерянных деталей, болт (или гайка) считается непригодным, если он не имеет соответствующей гайки (или болта).

#include <iostream>

using namespace std;

int main()

{

int g,sg,b,sb,a,c;

double pb,pg;

cin>>b>>pb>>sb;

cin>>g>>pg>>sg;

pb=b*(pb/100);

pg=g*(pg/100);

g=g-pg;

b=b-pb;

if(g>b) {a=g-b;pg+=a;}

else {a=b-g; pb+=a;}

c=pg*sg+pb*sb;

cout<<c;

}

Алгоритм решения:

В первой строке вводится количество болтов, процент потерянных болтов, и стоимость.

Во второй строке вводится количество гаек, процент гаек, и стоимость.

Сначала находим количество потерянных гаек и болтов(pg и pb).

Дальше найдем количество оставшихся гаек и болтов, если гаек больше чем болтов то находим количество лишних гаек, и прибавляем к потерянным гайкам, иначе находим количество лишних болтов и прибавляем к потерянным болтам. Выводим стоимость потерянных и лишних болтов и гаек.

сумма максимума и минимума - student2.ru

Кругляши

Однажды в просторах рунета появился следующий ребус:

157892 = 3

203516 = 2

409578 = 4

236271 = ?

Никто так и не смог его разгадать. Позже оказалось, что число в правом столбце равно сумме "кругляшей", которые есть в цифрах числа, расположенного слева. Ваша задача написать программу, которая определяет, сколько кругляшей в числе.

#include <iostream>

#include <string>

using namespace std;

int main()

{

string a;

cin>>a;

int b=a.size();

int sum=0;

for (int i=0;i<b;i++)

{

if(a[i]=='6' || a[i]=='9' || a[i]=='0') sum=sum+1;

else if (a[i]=='8')sum=sum+2;

}

cout<<sum;

}

Алгоритм решения:

Вводим строку а, узнаем длину строки = b. В цикле от 0 до b, если элемент строки равен 6,9,0 то увеличиваем sum на 1, иначе если элемент строки равен 8, то sum увеличиваем на 2. Выводим sum.

сумма максимума и минимума - student2.ru

Наши рекомендации