Смотри, для перевода из восьмеричной в десятичную надо это число представить в виде суммы произведения основания восьмеричной системы счисления на соответствующие цифры в разрядах восьмеричного числа:
К примеру, возьмем число 2357, нужно перевести в десятичную, в этом числе 4 цифры и 4 разряда (Разряды считаются, начиная с нулевого которому соответствует младший бит), в соответствии уже с известным правилом представим его в виде суммы степеней с основанием 8:
2357₈ = (2·8³)+(3·8²)+(5·8¹)+(7·8^0) = 2·512 + 3·64 + 5·8 + 7·1 = 1263₁₀
<em>Для вычислений "вручную" и решения примеров и контрольных заданий вам могут пригодиться таблицы степеней оснований изучаемых систем счисления (2, 8, 10, 16) </em>
1.
var i:integer;
begin
for i:=10 to 99 do
if (i mod 3=0)and(i mod 5<>0)
then write(i,' ');
end.
Результат:
<span>12 18 21 24 27 33 36 39 42 48 51 54 57 63 66 69 72 78 81 84 87 93 96 99
2.
var i:integer;
begin
for i:=10 to 99 do
if i div 10 + i mod 10 = 15
then write(i,' ');
end.
Результат:
<span>69 78 87 96 </span></span>
Здесь, как говорится, возможна масса разных вариантов. Один из самых простых такой:
var i,j: integer;
begin
for j:=1 to 5 do begin
for i:=1 to 8 do write('* ');
writeln;
for i:=1 to 8 do write(' *');
writeln;
end;
<span>end.
Если не подойдет - уточняйте требования к программе.</span>
Это 5
#include <iostream>
using namespace std;
int main() {
double a;
int b, proizv=1;
cin>>a;
while(a>0) {
b=a%10;
if(b%2!=0)proizv*=b;
a/=10;
} cout<<proizv<<endl;
return 0;
}
Это 6
#include <iostream>
using namespace std;
int main() {
int a;
int b, max=-1000000, proizv=1;
cin>>a;
do {
b=a%10;
if(b>max)max=b;
if(b%2!=0)proizv*=b;
a/=10;
}while(a>0);
cout<<proizv<<' '<<max<<endl;
return 0;
}
"<span>Флудить </span>Flood <span>Использовать ненормативную лексику" - это неверно
</span>