Var d1,d2,n:integer; k,s:longint; begin Write('Введите натуральное двухзначное число: '); Read(n); d1:=n div 10; d2:=n mod 10; k:=sqr(n); s:=4*(d1*sqr(d1)+d2*sqr(d2)); Write(n,': '); if k=s then Writeln('Квадрат числа (',k, ') равен учетверенной сумме кубов его цифр') else Writeln('Квадрат числа (',k, ') не равен учетверенной сумме кубов его цифр (',s,')') end.
Тестовое решение: Введите натуральное двухзначное число: 48 48: Квадрат числа (2304) равен учетверенной сумме кубов его цифр
Введите натуральное двухзначное число: 47 47: Квадрат числа (2209) не равен учетверенной сумме кубов его цифр (1628)
Замечание: На самом деле лишь одно число 48 среди всех двухзначных чисел удовлетворяет условию равенства, так что достаточно просто сравнивать введенное число с 48, чтобы решить задачу )))
myataplatinumb348
11.05.2023
Код программы ruby for i in "1000".to_i(8).."7777".to_i(8) s = i.to_s(2) k = 0 s.chars.each {|c| k += 1 if c == "1"} if (k==5) p [i, i.to_s(8), s, k] break end end
Вывод [527, "1017", "1000001111", 5]
ответ 1017
Если решать аналитически, то наверное это делается методом подбора плюс быстрым переводом восьмеричной системы в двоичную (каждая цифра 8чной переводится в 3 цифры 2чной, можно заранее посчитать кол-во единиц для каждой). Сразу понимаем что в числах 1000-1016 будет слишком мало единиц, только "7"_8 переводится в "111"_2. И еще две единицы дают "1"_8
rendikalogistic
11.05.2023
# Решение на Python 3.X
from itertools import count
def prime(num): if num <= 1: return False for div in range(2, num // 2 + 1): if num % div == 0: return False return True
def nth_superprime(n): if n < 1: return None else: c = 0 for x in count(2): digits = [int(l) for l in str(x)] if all(map(prime, digits)): c += 1 print(c, '=', x) if c == n: return x
print(nth_superprime(101))
# Вывод (и ответ): 2322
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дано двузначное число. определить , равен ли квадрат этого числа учетверенной сумме кубов его цифр. 60 !
d1,d2,n:integer;
k,s:longint;
begin
Write('Введите натуральное двухзначное число: '); Read(n);
d1:=n div 10; d2:=n mod 10;
k:=sqr(n); s:=4*(d1*sqr(d1)+d2*sqr(d2));
Write(n,': ');
if k=s then Writeln('Квадрат числа (',k,
') равен учетверенной сумме кубов его цифр')
else Writeln('Квадрат числа (',k,
') не равен учетверенной сумме кубов его цифр (',s,')')
end.
Тестовое решение:
Введите натуральное двухзначное число: 48
48: Квадрат числа (2304) равен учетверенной сумме кубов его цифр
Введите натуральное двухзначное число: 47
47: Квадрат числа (2209) не равен учетверенной сумме кубов его цифр (1628)
Замечание: На самом деле лишь одно число 48 среди всех двухзначных чисел удовлетворяет условию равенства, так что достаточно просто сравнивать введенное число с 48, чтобы решить задачу )))