нэ
64 / 64 / 42
Регистрация: 08.04.2010
Сообщений: 166
1

все числа на заданном отрезке, в которых не менее 3 различных цифр

06.05.2010, 17:18. Показов 1106. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Вывести все числа на заданном отрезке, в которых не менее 3 различных цифр
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2010, 17:18
Ответы с готовыми решениями:

Посмотрите опытным взглядом. Получить все шестизначные натуральные числа, в записи которых три и менее одинаковых цифр
Получить все шестизначные натуральные числа, в записи которых три и менее одинаковых цифр. Пока...

Процедуры: на заданном отрезке найти все натуральные числа, сумма цифр которых при умножении числа на a не изменится
На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на a не изменится.

Найти на заданном отрезке все числа, которые равны сумме кубов своих цифр
Написать программу, которая находит на заданном отрезке все числа, которые равны сумме кубов своих...

На отрезке [2, n] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится
Помогите,вот задание. На отрезке найти все натуральные числа, сумма цифр которых при умножении...

2
12 / 12 / 9
Регистрация: 15.12.2008
Сообщений: 32
06.05.2010, 18:31 2
Так пойдет
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var 
start,finish :integer;
cif,pvt: array [0..9] of integer;
i,j,k,count:integer;
check:array [0..9] of boolean;
begin
write('Введите начальное число');
readln(start);
write('Введите конечное число');
readln(finish);
for i:=start to finish do
  begin
    j:=i;
    count:=1;
    while j div 10 <>0 do
      begin
      cif[count]:=j mod 10;
      j:=j div 10;
      inc(count);
      end;
    cif[count]:=j mod 10;
    for j:=0 to count-1 do
      begin
        if pvt[cif[j]]=0 then
        pvt[cif[j]]:=1;
        for k:=j+1 to count-1 do
          if (cif[j]=cif[k+1]) and (check[j]=false)  then
            inc(pvt[cif[j]]);
        check[cif[j]]:=true;
      end;
  count:=0;
  for j:=0 to 9 do
    if pvt[j]<>0 then inc(count);
  if count>2 then 
  writeln(i);
  end;
readln;
end.
Добавлено через 33 минуты
Вроде исправил
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var 
start,finish :integer;
cif,pvt: array [0..10] of integer;
i,j,k,count:integer;
check:array [0..10] of boolean;
begin
write('Введите начальное число ');
readln(start);
write('Введите конечное число ');
readln(finish);
for i:=start to finish do
  begin
    for j:=0 to 10 do
    begin
    cif[j]:=0;
    pvt[j]:=0;
    check[j]:=false;
    end;
    j:=i;
    count:=1;
    while j div 10 <>0 do
      begin
      cif[count]:=abs(j mod 10);
      j:=abs(j div 10);
      inc(count);
      end;
    cif[count]:=j mod 10;
    for j:=1 to count do
      begin
        if pvt[cif[j]]=0 then
        pvt[cif[j]]:=1;
        for k:=j to count do
          if (cif[j]=cif[k+1]) and (check[j]=false)  then
            inc(pvt[cif[j]]);
        check[cif[j]]:=true;
      end;
  count:=0;
  for j:=0 to 9 do
    if pvt[j]<>0 then inc(count);
  if count>2 then 
  writeln(i);
  end;
readln;
end.
Добавлено через 2 минуты
Исправь 27 строку на cif[count]:=abs(j mod 10);
1
нэ
64 / 64 / 42
Регистрация: 08.04.2010
Сообщений: 166
19.05.2010, 17:37  [ТС] 3
все проще:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var
    n,m,ii,p:longint;
    k:byte;
    a:set of byte;
    q:boolean;
begin
     writeln('vvedite otrezok');
     readln(m,n);
     for ii:=m to n do
     begin
        a:=[];
        p:=0;
        n:=ii;
        while (n>0) and (p<3) do
        begin
           k:=n mod 10;
           if not (k in a) then
           begin
               include(a,k);
               inc(p);
               if p=3 then
               begin
                  write(ii,' ');
                  q:=false;
               end;
           end;
           n:=n div 10;
        end;
     end;
     if q then
     write('net takix 4isel');
     readln;
end.
0
19.05.2010, 17:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2010, 17:37
Помогаю со студенческими работами здесь

На отрезке [2, п] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится
На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится.

На отрезке [2, n] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится
На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится.

На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на А не изменится
На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на A не изменится.

На отрезке [2, n] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится
На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru