Это 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;
}
Var n,i:integer; p:real;
begin
write('n='); readln(n);
p:=1;
for i:=1 to n do p:=p*i;
writeln('p=',p);
end.
Пример:
n=10
p=3628800
Если в компьютер, то сканер.
А) Чтобы перевести из 2-ой в 8-ую , нужно отделить от числа три цифры(так как в 8-ой системе двоичный триад (группа по 3 цифры) и под отдельности считаешь, а потом соединяешь получившееся числа! Вот пример: 101001, разбиваем по 3 цифры и считаем 101=>1*2^2+0*2^1+1*2^0=5 001=>0*2^2+0*2^1+1*2^1=1 В ответе получается число 51 в 8-ой системе! Чтобы в 16 систему перевести отделять по 4 цифры! Пример с тем же числом: 101001, нам не хватает 2-е цифры, значит добавляем 00, перед этим числом 00101001 и считаем 0010=>0*2^3+0*2^2+1*2^1+0*2^0=2 1001=>1*2^3+0*2^2+0*2^1+1*2^0=9 В ответе 29!
А в 10-ую переводи просто, не отделяя цифр и все!
Б)A=10 F=15 , вот и переводи 1015 в 2-ую систему , методом деления на 2!
<em>// PascalABC.NET 3.3, сборка 1605 от 31.12.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var mc:=ReadlnString('Введите число из трех цифр:').ToCharArray;
var s:='';
foreach var a in mc do
foreach var b in mc do
foreach var c in mc do
s+=a+b+c+' ';
s.ToIntegers.Where(t->t>99).Distinct.OrderBy(t->t).Println
end.
<u>Примеры</u>
Введите число из трех цифр: 142
111 112 114 121 122 124 141 142 144 211 212 214 221 222 224 241 242 244 411 412 414 421 422 424 441 442 444
Введите число из трех цифр: 208
200 202 208 220 222 228 280 282 288 800 802 808 820 822 828 880 882 888
Введите число из трех цифр: 555
555