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

Перестановка цифр Дано трехзначное число, в котором все цифры различны (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*
Комментарий*

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

tinadarsi
kirill76536
rytikovabs
васильевич
volk88882
Сергеевич1726
kap393
Solovetzmila
albina6580
ilyushin-e
miumiumeaow
samoilovcoc
Urmanov19903131
olg14855767
masamosijcuk140244