С Новым годом! Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 5
1

Формирование массива, элементами которого являются числа, сумма цифр которых равна K и которые не больше N

29.01.2015, 16:15. Показов 1968. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны натуральные числа К и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не больше N.
Сделать программу надо с процедурой или с функцией.
И составить блок схему .
Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
29.01.2015, 16:15
Ответы с готовыми решениями:

Даны натуральные числа К и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не
вот собственно задача: Даны натуральные числа К и N. Составить программу формирования массива A,...

Сформировать массив, элементами которого являются числа, сумма которых равна K и которые не больше N
блин, на контрольной дали задачу, вообще не понимаю что требуется!(( помогите плиз!! Если у кого то...

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

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

11
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
30.01.2015, 08:48 2
boyyyy, цифры могут повторяться?
0
5085 / 2656 / 2350
Регистрация: 10.12.2014
Сообщений: 10,052
30.01.2015, 09:01 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
function SumDigits(N : Integer) : Integer;
begin
  Result := 0;
  while N > 0 do
    begin
      Result += N mod 10;
      N := N div 10;
    end;
end;
 
var
  K, N : Integer;
  A : array of Integer;
begin
  Write('K N ? '); ReadLn(K, N);
  for var i := 1 to N do
    if SumDigits(i) = K then
      begin
        SetLength(A, Length(A) + 1);
        A[A.Length - 1] := i;
      end;
  if Length(A) = 0 then
    Write('None')
  else
    foreach var i in A do
      Write(i, #32);
  WriteLn;
end.
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
30.01.2015, 09:13 4
JuriiMW, ввожу 10 6 в итоге None, а по сути варианты есть 1 2 3 4 ; 6 4 ; 5 3 2 а если повторы вообще куча
0
5085 / 2656 / 2350
Регистрация: 10.12.2014
Сообщений: 10,052
30.01.2015, 09:23 5
Joy, наоборот: 6 10
а лучше 10 100…

… формирования массива A, элементами которого являются числа, сумма цифр которых равна K…
т.е. для 10 100: числа 19 28 37 46 55 64 73 82 91, сумма цифр которых равна 10

Добавлено через 1 минуту
Там же функция с говорящим названием „сумма цифр“
1
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
30.01.2015, 09:44 6
JuriiMW, прошу прощения не правильно прочитал условие
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  k,n:integer;
  a:array of integer;
 
function SumDigits(i : integer) : integer;
begin
  if i>0 then result:=i mod 10+SumDigits(i div 10);
end;
 
begin
  write('Введите k,n:');  readln(k,n);
  a:=Range(1,n).Where((i:integer)->SumDigits(i)=k).ToArray;
  a.Println;
end.
0
5085 / 2656 / 2350
Регистрация: 10.12.2014
Сообщений: 10,052
30.01.2015, 09:45 7
Если уж рекурсия, то так:
Pascal
1
if i>0 then result:= i mod 10+SumDigits(i div 10) else result := 0;
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
30.01.2015, 09:52 8
а разница в чем?
0
5085 / 2656 / 2350
Регистрация: 10.12.2014
Сообщений: 10,052
30.01.2015, 10:01 9
В то время, когда я писал, у тебя ещё было: result:=result+…
А обнуление в конце — ну как бы по правилам положено ;–)
1
6 / 6 / 13
Регистрация: 27.01.2015
Сообщений: 24
30.01.2015, 10:35 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
 
procedure pr; 
var s,k,su,n,i:integer;
    a:array[1..100] of integer;
label x,y1,y2;
begin
 s:=0;su:=0;i:=1;
 write('Vvedite chislo - ');y1:read(k);
 if k<0 then
 begin
  write('Vvedite polojitelnoe chislo - ');
  goto y1;
 end;
 write('Vvedite N - ');y2:read(n);
 if n<0 then
 begin
  write('Vvedite polojitelnoe N - ');
  goto y2;
 end;
 repeat
x:s:=random(n)+1;
  su:=su+s;
  
  if su>k then 
  begin
   su:=su-s;
   goto x;
  end
  else
  begin
   a[i]:=s;
   write(a[i]:3);
   inc(i);
  end;
 until su=k;
 writeln;
end;
 
begin
randomize;
 pr;
end.
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
30.01.2015, 11:53 11
Sway, см. пост. 5
0
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 5
15.02.2016, 13:08  [ТС] 12
Спасибо Вам!)
0
15.02.2016, 13:08
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
15.02.2016, 13:08
Помогаю со студенческими работами здесь

Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27.
Помогите решить ещё одну задачку :) Найти все четырёхзначные числа, у которых сумма крайних цифр...

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

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

Создать массив, элементами которого являются суммы цифр каждого элемента исходного массива
Дан одномерный массив, который содержит не более 40 целых чисел. Создать новый массив, элементами...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru