Сурат1199
?>

Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 10? паскаль var k, i : longint; function f(n: longint): longint; begin f: = n * n * n; end; begin readln(k); i : = 1; while f(i) < k do i : = i + 1; if f(i)-k < = k-f(i-1) then writeln(i) else writeln(i-1); end.

Информатика

Ответы

lemoh
Полный код программы

var
    k, rk, n: longint;

function f(n: longint): longint;
begin
    f := n * n * n;
end;

function calc(k: longint): longint;
var
    i: longint;
begin
    i := 1;
    while f(i) < k do
        i := i + 1;
   
    if f(i) - k <= k - f(i - 1) then
        calc := i
    else calc := i - 1;
end;

begin
    rk := calc(10);
    n := 0;
    for k := 1 to 1000 do
        if calc(k) = rk then
        begin
            writeln('calc(', k, ') = ', calc(k));
            n := n + 1;
        end;
   
    writeln(n);
end.

вывод
calc(5) = 2
calc(6) = 2
calc(7) = 2
calc(8) = 2
calc(9) = 2
calc(10) = 2
calc(11) = 2
calc(12) = 2
calc(13) = 2
calc(14) = 2
calc(15) = 2
calc(16) = 2
calc(17) = 2
13
Иван1764
Программа на python 3, перебирающая все возможные последовательности определённой длины:
def shortest_chains(n):
  def next_chains(chain):
    new_elems = set()
    for i in range(len(chain)):
      for j in range(i, len(chain)):
        new_elem = chain[i] + chain[j]
        if new_elem > chain[-1] and new_elem not in new_elems:
          new_elems.add(new_elem)
          yield chain + [new_elem]
  
  current_stage = None
  next_stage = [[1]]
  answer = []
  while len(answer) == 0:
    current_stage = next_stage
    next_stage = []
    for chain in current_stage:
      next_stage.extend(next_chains(chain))
    answer = [chain[1:] for chain in next_stage if chain[-1] == n]
  return answer
    
def print_solution(n):
  answer = shortest_chains(n)
  print("Для {} есть {} решений(-я, -е):".format(n, len(answer)))
  for i in range(len(answer)):
    print("{}. {}".format(i + 1, " ".join(map(str, answer[i]
  print()

Запустив, можно получить все 5 возможных решений для числа 7, по 4 решения для 15 и 23 и 87 решений для 63.
jeep75

#define use_CRT_SECURE_NO_WARNINGS 1

#include <iostream>

#include <cstring>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

const int N = 81;

const int N2 = 81;

int numbers[N];

int count = 0;

int count2 = 0;

string words[N];

string kwords[N2];

char the_string[N], * p;

char* next_token = nullptr;

int i = 0;

for (int k = 0; k < N; k++) {

 numbers[k] = 0;

}

cout << "Введите строку:";

cin.getline(the_string, N);  

p = strtok_s(the_string, " ", &next_token);

while (p != nullptr) {

 words[i] = p;

 i++;

 p = strtok_s(nullptr, " ", &next_token);

 count++;

}  

cout << endl;

char the_string2[N2], * p2;

char* next_token2 = nullptr;

cout << "Введите нужные слова:";

cin.getline(the_string2, N2);

int j = 0;

p2 = strtok_s(the_string2, " ", &next_token2);

while (p2 != nullptr) {

 kwords[j] = p2;

 j++;

 p2 = strtok_s(nullptr, " ", &next_token2);

 count2++;

}

cout << endl;

for (int i = 0; i < count; i++) {

 for (int j = 0; j < count2; j++) {

  if (words[i] == kwords[j]) {

   numbers[j] = numbers[j] + 1;

   break;

  }

 }

}

int t; string d;

for (int j = 0; j < count2; j++) {

 for (int i = 0; i < count2; i++) {

  if (numbers[i] < numbers[i + 1]) {

   t = numbers[i + 1];

   numbers[i + 1] = numbers[i];

   numbers[i] = t;

   d = kwords[i + 1];

   kwords[i + 1] = kwords[i];

   kwords[i] = d;

  }

 }

}

cout << endl;

for (int i = 0; i < count2; i++) {

 cout << kwords[i] << " ";

}

return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 10? паскаль var k, i : longint; function f(n: longint): longint; begin f: = n * n * n; end; begin readln(k); i : = 1; while f(i) < k do i : = i + 1; if f(i)-k < = k-f(i-1) then writeln(i) else writeln(i-1); end.
Ваше имя (никнейм)*
Email*
Комментарий*

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

alapay
veronikagrabovskaya
Dmitrievna Lvovich
Ingakazakova
Verakravez8790
samirmajbubi
askorikova
andrewa
school24mir23
Look7moscow
myataplatinumb348
asvavdeeva
pafanasiew
shajmasha
aistenok-28