10₄=4₁₀=2²₁₀, тогда в первой скобке 2³ возводится в 301 степень, т.е. получается 2⁹⁰³ 100₂=4₁₀=2²₁₀ и при возведении в степень получим 2¹²⁰⁰⁰ 8₁₀=2³₁₀ и при возведении в степень 229 получим 2⁶⁸⁷ 13₁₀=1101₂ Если рассматривать первые три слагаемых как запись некоторого двоичного числа в развернутой форме, то она будет означать , что в этой записи единицы стоят на месте с разрядами 12000, 903 и 687, а все остальные нули. Теперь если выполнить вычитание двоичных чисел столбиком, то получим: 100...00100...00100...00000₂ ₋ 1101₂
100...00100...00011...10011₂, т.е. одна 1 на 12000 месте, одна 1 на 903 месте, 683 единицы начиная с 686 по 4 место включительно, и еще две единицы в конце записи, итого 683+1+1+2=687 единиц в записи числа Как то так
var a,n,i,j,s:integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(a); for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 9 Введите 2 цифру из 5 2 Введите 3 цифру из 5 7 Введите 4 цифру из 5 3 Введите 5 цифру из 5 1 Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198) var a,n,i,j,s:integer; mas:array[1..10]of integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(mas[i]); a:=mas[i]; for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 5 Введите 2 цифру из 5 4 Введите 3 цифру из 5 3 Введите 4 цифру из 5 2 Введите 5 цифру из 5 2 Натуральное число: 54322
Рисунок, поясняющий решение - в прилагаемом файле. Для решения задачи используется метод кругов Эйлера, только здесь круги не круглые, а прямоугольные.) S = 24 S1+S2+S3+S4 = 10 S3+S4+S5+S7 = 8 S2+S3+S6+S7 = 6 S2+S3 = 3 S3+S4 = 3 S3+S7 = 3 S3 = 1
100₂=4₁₀=2²₁₀ и при возведении в степень получим 2¹²⁰⁰⁰
8₁₀=2³₁₀ и при возведении в степень 229 получим 2⁶⁸⁷
13₁₀=1101₂
Если рассматривать первые три слагаемых как запись некоторого двоичного числа в развернутой форме, то она будет означать , что в этой записи единицы стоят на месте с разрядами 12000, 903 и 687, а все остальные нули. Теперь если выполнить вычитание двоичных чисел столбиком, то получим:
100...00100...00100...00000₂
₋ 1101₂
100...00100...00011...10011₂, т.е. одна 1 на 12000 месте, одна 1 на 903 месте, 683 единицы начиная с 686 по 4 место включительно, и еще две единицы в конце записи, итого 683+1+1+2=687 единиц в записи числа
Как то так