Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
xayes
0 / 0 / 3
Регистрация: 01.01.2014
Сообщений: 39
1

Найти среди удивительных чисел число, ближайшее к х

26.01.2014, 17:42. Просмотров 932. Ответов 1
Метки нет (Все метки)

некоторое натур. число обладает следующими свойствами: сумма цифр числа n равна k, а сумма числа n2(квадрат) равна k2. Найти среди этих удивительных чисел число, ближайшее к х (числа k и х вводятся с клавиатуры, k<8).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2014, 17:42
Ответы с готовыми решениями:

Задано целое число N. Найти ближайшее к нему совершенное число
Задано целое число N. Найти ближайшее к нему совершенное число

Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n.
Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n.

Найти ближайшее совершенное число
Добрый день. Помогите пожалуйста написать данную программу: &quot;Задано целое...

Найти минимальное число среди последовательности вводимых чисел
Найти минимальное число среди последовательности вводимых чисел. Остановить...

Найти среднее число среди трех данных чисел
Дано три числа. Найти среднее з их (в смысли, число,размещено меж наименьшим и...

1
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26340 / 17671 / 6998
Регистрация: 22.10.2011
Сообщений: 31,090
Записей в блоге: 6
26.01.2014, 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
procedure sum_digits(n : integer; var s : integer);
begin
  s := 0;
  while n > 0 do
  begin
    s := s + (n mod 10);
    n := n div 10;
  end;
end;
 
procedure test(n, k : integer; var b : boolean);
var s, s2 : integer;
begin
  sum_digits(n, s);
  sum_digits(sqr(n), s2);
  b := (s = k) and (s2 = sqr(k));
end;
 
var 
  k, x, delta : integer;
  found : boolean;
  
begin
  write('k = '); readln(k);
  write('x = '); readln(x);
  
  delta := -1;
  repeat
    inc(delta);
    test(x + delta, k, found);
    if found then writeln(x + delta)
    else
    begin
      test(x - delta, k, found);
      if found then writeln(x - delta)
    end;
  until found; 
end.
XML
1
2
3
k = 3
x = 14
12
. что является правильным ответом. т.к. 1+2=3, а 1+4+4=32
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2014, 18:31

Найти ближайшее к 2000 простое число
Найти ближайшее к 2000 простое число. Определить функцию, распознающую простые...

Найти среди 4-значных чисел наименьшее число ,которое делится на 18 и на 12
Вывести все числа, которые делятся на 18 и 12 program bb; var k,i:integer;...

Среди чисел массива, встречающихся минимальное число раз, найти максимальное
Дан массив А из N элементов (0&lt;N&lt;1000;0&lt;A&lt;10000). Среди чисел массива,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru