Можно воспользоваться вариантом Vladmor, он более легкий и подходит под эту задачу, но чтобы не повторяться, для разнообразности, предложу свой вариант.
1+3+5+7 это ничто иное как арифметическая прогрессия. Есть несколько формул суммы членов прогрессии, но под этот тип задачи подойдёт такая:
- это член последовательности с индексом 1, то есть первое число в ряду. d - это разность между двумя соседними членами, из большего вычитаем меньшее
n - это сколько всего членов
и так, у нас получается = 1 (в условии задачи сказано что первый подарок весит 1кг) d = 2 (в условии сказано что следующий подарок увеличивается на 2, ничто иное как разность) n = это переменная, она нам не известна, поэтому так и оставим. - это сумма веса всех подарков, в примере используется слово "weight" что в переводе "вес", поэтому подставим это слово.
И теперь подставим что у нас имеется. weight = weight =
В коде программу будет записано так weight = ( ( 2+2*(n-1) ) / 2)*n
Проверим, например у нас 5 детей, значит надо 5 подарков, это 1+3+5+7+9 = 25 Проверим формулу weight = ( ( 2+2*(5-1) ) / 2)*5 weight = ( ( 2+2*4 ) / 2)*5 weight = ( ( 2+8 ) / 2)*5 weight = ( 10 / 2)*5 weight = 5*5 weight = 25 Всё сходится.
Расписал подробно, чтобы всё было понятно Так же этот вариант подойдёт для других таких типовых задач, а вариант Vladmor подойдёт только в некоторых случаях, будь внимателен(на)
1+3+5+7 это ничто иное как арифметическая прогрессия.
Есть несколько формул суммы членов прогрессии, но под этот тип задачи подойдёт такая:
- это член последовательности с индексом 1, то есть первое число в ряду.
d - это разность между двумя соседними членами, из большего вычитаем меньшее
n - это сколько всего членов
и так, у нас получается
= 1 (в условии задачи сказано что первый подарок весит 1кг)
d = 2 (в условии сказано что следующий подарок увеличивается на 2, ничто иное как разность)
n = это переменная, она нам не известна, поэтому так и оставим.
- это сумма веса всех подарков, в примере используется слово "weight" что в переводе "вес", поэтому подставим это слово.
И теперь подставим что у нас имеется.
weight =
weight =
В коде программу будет записано так
weight = ( ( 2+2*(n-1) ) / 2)*n
Проверим, например у нас 5 детей, значит надо 5 подарков, это
1+3+5+7+9 = 25
Проверим формулу
weight = ( ( 2+2*(5-1) ) / 2)*5
weight = ( ( 2+2*4 ) / 2)*5
weight = ( ( 2+8 ) / 2)*5
weight = ( 10 / 2)*5
weight = 5*5
weight = 25
Всё сходится.
Расписал подробно, чтобы всё было понятно
Так же этот вариант подойдёт для других таких типовых задач, а вариант Vladmor подойдёт только в некоторых случаях, будь внимателен(на)
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
setlocale(0,".1251");
int c,b=0;string num;char A,B,C,D,E,F;
cin>>num;
c=num.size();
if(c<=6){
for(int i=0;i<=c;i++){
if(num[i]==0){}
else if(num[i]=='1'){b++;}
else if(num[i]=='2'){b++;}
else if(num[i]=='3'){b++;}
else if(num[i]=='4'){b++;}
else if(num[i]=='5'){b++;}
else if(num[i]=='6'){b++;}
else if(num[i]=='7'){b++;}
else if(num[i]=='8'){b++;}
else if(num[i]=='9'){b++;}
else if(num[i]=='A'){b++;}
else if(num[i]=='B'){b++;}
else if(num[i]=='C'){b++;}
else if(num[i]=='D'){b++;}
else if(num[i]=='E'){b++;}
else if(num[i]=='F'){b++;}
else{cout<<"Число не является шестнадцатеричным\n";break;}}
if(c==b){cout<<"Число шестнадцатеричное\n";}
}
else{cout<<"Число элементов больше шести";}
system("pause");
return 0;
}