scorpion21c
?>

Нужен код на c++. дано натуральное число n(n< =100) a) сколько цифр в числе n? б) чему равно сумма его чисел? в) найти последнюю цифру г) первую цифру

Информатика

Ответы

BrezhnevaKoidula
#include <iostream>
using namespace std;
typedef unsigned short int USI;

USI DigitCount(USI n) {
USI a = (int) n / 100,
bc = n % 100,
b = (int) bc / 10,
c = n % 10;
if (a > 0) return 3;
if (b > 0) return 2;
if (c > 0) return 1;
return 0;
}

USI SumDigits(USI n, USI dc) {
USI sum = 0,
a,
bc,
b,
c;
switch (dc) {
case 3:
a = (int) n / 100;
sum += a;
case 2:
bc = n % 100;
b = (int) bc / 10;
sum += b;
case 1:
c = n % 10;
sum += c;
break;
default:
return 0;
break;
}
return sum;
}

USI LastDigit(USI n) {
return n % 10;
}

USI FirstDigit(USI n, USI dc) {
switch (dc) {
case 1:
return n;
break;
case 2:
return (int) n / 10;
break;
case 3:
return (int) n / 100;
break;
default:
return 0;
break;
}
}

int main() {
USI n;
cout << "n = ";
cin >> n;
USI dc = DigitCount(n);
cout << "Число " << n
<< ":\n"
<< "Цифр: "
<< dc << '\n'
<< "Сумма цифр: "
<< SumDigits(n, dc) << '\n'
<< "Последняя цифра: "
<< LastDigit(n) << '\n'
<< "Первая цифра: "
<< FirstDigit(n, dc) << '\n';
return 0;
}
varvv15
На каком бы этаже не жил(а) Саша, информация об этом этаже является одним вариантом из 38. Для такого случая американский ученый Ральф Хартли в 1928 году предложил несложную формулу. Об этом Вы можете почитать в учебниках или в Интернет. А запомнить нужно немножко другое. Дробь 1/38 "переворачиваем", получая 38. И теперь наша задача подобрать такую степень числа два, чтобы эта двойка, возведенная в подобранную нами степень, дала 38. В математике используют понятие логарифма по основанию 2 и пишут, что наш ответ - это ㏒₂38 ≈ 5.25 - именно во столько бит.и оценивается информация. Ну а приближенно мы помним, что 2⁵=32, 2⁶=64, а 38 - это между ними. Если нужно целочисленное решение - округляем до большего и даем ответ 6 бит.
Хабарьева Андрей1056

по умалчанию в exel таблицах относительная адресация(т.е. ячейки в формуле вычисляются как смещение относительно исходной и она соответстевенно изменится при копировании в другую ячейку),т.е. если бы в ячейке D3 была записана формула =B2 + B3, то если бы ее скопировали в ячейку E4 то в ячейке была бы формула = C3 + C4

 

знак $ показывает, строка или столбец заданны абсолютно, т.е. их не нужно пересчитывать и они остаются неизменными. Если $ стоит перед именем столбца это значит что столбец задан абсолютно, если перед номером строки, то значит строка задана абсолютно.

в данном случае в ячейке B$2 показано что номер строки задан абсолютно и он не будет меняться, а в ячейке $B3 задан абсолютно столбец

 поэтому при копировании формулы в ячейку E4 в B$2 изменится только столбец, а строка останется неизменной С$2

а в $B3 изменится только строка и получится $B4

 

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужен код на c++. дано натуральное число n(n< =100) a) сколько цифр в числе n? б) чему равно сумма его чисел? в) найти последнюю цифру г) первую цифру
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

starh
eoils-info
Aleksei Biketova
infocenterbla
Краева
ivshzam
Горина
tobolenecivanov1675
Александра_Наталья1417
mgg64
YekaterinaAbinskov
Алексей Кирилл1094
bieku68
Владимирович_Роман
alesia1986