santechma
?>

C/c++ составить программу возведения натурального числа n в квадрат, учитывая такую закономерность: 1 ^ 2 = 1, 2 ^ 2 = 1 + 3, 3 ^ 2 = 1 + 3 + 5, 4 ^ 2 = 1 + 3 + 5 + 7, п ^ 2 = 1 + 3 + 5 + 7 + 9 + + 2n-1. не использовать операцию умножения!

Информатика

Ответы

ukkavtodor6

#include <iostream>


using namespace std;


int main() {

long int i, number, square = 0;


jump:

cout << "Input a natural number: ";

cin >> number;

if (number <= 0) {

             cout << "Input error! Try again"<< endl;

             goto jump;

}


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

              square += i + i - 1;


cout << "The square of number " << number << " is " << square << endl;

return 0;

}

Mexx9050
1. Шестнадцатиричное представление переводим в десятичное.
Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
4A98.BC2_{16}=4\times 16^3+10\times 16^2+9\times 16^1+8\times 16^0+ \\ 11\times 16^{-1}+12\times 16^{-2}+2\times 16^{-3}= \\ 16384+2560+144+8+ \frac{11}{16}+ \frac{12}{256}+ \frac{2}{4096} =19096\frac{1505}{2048}}= \\ 19096.73486328125_{10}
2. Шестнадцатиричное представление переводим в восьмеричное.
Поскольку 16=2^4; \ 8=2^3, перевод удобно сделать через промежуточную двоичную систему.
Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
0100 1010 1001 1000 . 1011 1100 0010 (2)
Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010=
45230.5702(8)

ответ: 4A98.BC2(16)=19096.73486328125(10)=45230.5702(8)
kuziv31

Для начала определим что такое разряд числа. Разряд это порядковый номер цифры, и счет начинается с запятой, отделяющей дробь, счет начинается с 0 разряда до последней цифры. Например, число 1234,0: 0 разряд - 4, 1 разряд - 3, 2 разряд - 2 и 3 разряд единица.

Теперь определимся как переводить из 16й в 10ю. Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.

Т.е.:

1234_{16}=(1*16^3+2*16^2+3*16^1+4*16^0)_{10}=(4096+512+48+4)_{10}=4660_{10} 

Чтобы перевести буквы в числа надо воспользоваться списком:

A=10; B=11; C=12; D=13; E=14; F=15

Теперь расмотрим данные нам числа:

9D_{16}=9*16^1+13*16^0=157_{10}

3E_{16}=62_{10}

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

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

C/c++ составить программу возведения натурального числа n в квадрат, учитывая такую закономерность: 1 ^ 2 = 1, 2 ^ 2 = 1 + 3, 3 ^ 2 = 1 + 3 + 5, 4 ^ 2 = 1 + 3 + 5 + 7, п ^ 2 = 1 + 3 + 5 + 7 + 9 + + 2n-1. не использовать операцию умножения!
Ваше имя (никнейм)*
Email*
Комментарий*

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

Sergei1198
Galinova2911
pivenraisa
pokrov777krest
Sakmarov
YekaterinaAbinskov
missvita
ИвановичБогословский280
msangelika1010
tcmir
MDubovikov73
VladimirovnaBugrova
naromanova
Маргарита794
Аношкина1696