Кирилл_Гульницкий
?>

Перестановка цифр Дано трехзначное число, в котором все цифры различны (abc Напишите программу, которая выводит шесть чисел, образованных при перестановке цифр заданного числа. Формат входных данных На вход программе подаётся положительное трёхзначное целое число, все цифры которого различны. Формат выходных данных Программа должна вывести шесть чисел, образованных при перестановке цифр заданного числа в следующем порядке: abc, acb, bac, bca, cab, cba

Информатика

Ответы

yelenaSmiryagin

так как число всего лишь трехзначное, то можно сделать в тупую за О(n^3):

#include <iostream>

using namespace std;

void solve(){

   string num;

   cin >> num;

   for(int i = 0; i < 3; i++)

       for(int j = 0; j < 3; j++)

           for(int k = 0; k < 3; k++)

               if(i != j && i != k && j != k)

                   cout << num[i] << num[j] << num[k] << "\n";

}

signed main(){

   solve();

}

Grigorevna23
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
balabinatanya7174
While (tnum != 0)  //tnum, tden - числитель и знаменатель искомой                                    дроби
    {
        if (tnum < tden)
        {
            temp = tnum;
            tnum = tden;
            tden = temp;
        }
        tnum = tnum - tden;
    }
    gcd = tden;  //вычисляем наибольший общий делитель
    numerator = numerator / gcd;  //делим числитель и знаменатель на
                                                      НОД, получаем сокращенную дробь
    denominator = denominator / gcd;

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

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

Перестановка цифр Дано трехзначное число, в котором все цифры различны (abc Напишите программу, которая выводит шесть чисел, образованных при перестановке цифр заданного числа. Формат входных данных На вход программе подаётся положительное трёхзначное целое число, все цифры которого различны. Формат выходных данных Программа должна вывести шесть чисел, образованных при перестановке цифр заданного числа в следующем порядке: abc, acb, bac, bca, cab, cba
Ваше имя (никнейм)*
Email*
Комментарий*

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

СергейНиколаевич
nkochladze
sde19755511
nkaminskaja
Надежда-Андрей930
alex13izmailov
pavpe4198
mausgaly
Валентинович133
alvs9
kirillboytsov403
dmitrovlug8248
Vello Olga
insan10
Borg Fedak1162
▲