например число 123 - 6 комбинаций, 120 - 4 комбинации.
также работает с 4значными
Объяснение:
program prog;
var num,i,j,tmp:integer;
arr:array [1..4] of integer=(-1,-1,-1,-1);
zero: boolean;
begin
writeln('Input number:');
readln(num);
i:=1;j:=1;zero:=false;
while num<>0 do begin
tmp:=num mod 10;
if (tmp<>arr[1]) and (tmp<>arr[2]) and (tmp<>arr[3]) and (tmp<>arr[4]) then begin
arr[i]:=tmp;
if (zero=false) and (tmp=0) then zero:=true;
write(i,':');
writeln('arr[i]=',arr[i]);
writeln('num=',num);
i:=i+1
end;
num:=num div 10;
num:=1;tmp:=1;
i:=i-1;
for j:=1 to i do num:=num*j;
if zero=true then begin
for j:=1 to i-1 do tmp:=tmp*j;
num:=num-tmp;
writeln('vsego chisel =',num);
end.
#include <iostream>
#include <cstdlib> // обьявление rand()
#include <ctime> // обьявление srand()
#define SIZE 5 // размер массива
int main()
{
using namespace std;
setlocale(LC_ALL, "ru");
srand(time(NULL));
int arr[SIZE][SIZE];
cout << "Начальный массив: \n";
for (unsigned i = 0u; i < SIZE; i++)
int positive = 0;
for (unsigned j = 0u; j < SIZE; j++)
arr[i][j] = rand() % 20 - 10;
cout << arr[i][j] << '\t';
if (arr[i][j] > 0)
positive++;
}
arr[i][0] = positive;
cout<<'\n';
cout << "\nМассив-результат: \n";
return 0;
например число 123 - 6 комбинаций, 120 - 4 комбинации.
также работает с 4значными
Объяснение:
program prog;
var num,i,j,tmp:integer;
arr:array [1..4] of integer=(-1,-1,-1,-1);
zero: boolean;
begin
writeln('Input number:');
readln(num);
i:=1;j:=1;zero:=false;
while num<>0 do begin
tmp:=num mod 10;
if (tmp<>arr[1]) and (tmp<>arr[2]) and (tmp<>arr[3]) and (tmp<>arr[4]) then begin
arr[i]:=tmp;
if (zero=false) and (tmp=0) then zero:=true;
write(i,':');
writeln('arr[i]=',arr[i]);
writeln('num=',num);
i:=i+1
end;
num:=num div 10;
end;
num:=1;tmp:=1;
i:=i-1;
for j:=1 to i do num:=num*j;
if zero=true then begin
for j:=1 to i-1 do tmp:=tmp*j;
num:=num-tmp;
end;
writeln('vsego chisel =',num);
end.
#include <iostream>
#include <cstdlib> // обьявление rand()
#include <ctime> // обьявление srand()
#define SIZE 5 // размер массива
int main()
{
using namespace std;
setlocale(LC_ALL, "ru");
srand(time(NULL));
int arr[SIZE][SIZE];
cout << "Начальный массив: \n";
for (unsigned i = 0u; i < SIZE; i++)
{
int positive = 0;
for (unsigned j = 0u; j < SIZE; j++)
{
arr[i][j] = rand() % 20 - 10;
cout << arr[i][j] << '\t';
if (arr[i][j] > 0)
positive++;
}
arr[i][0] = positive;
cout<<'\n';
}
cout << "\nМассив-результат: \n";
for (unsigned i = 0u; i < SIZE; i++)
{
for (unsigned j = 0u; j < SIZE; j++)
cout << arr[i][j] << '\t';
cout<<'\n';
}
return 0;
}