Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).Задачки такого типа не имеют однозначного решения, можно предложить нескольео вариантов и все они будут правильные. Слишком мало членов дано.
Вот мои версии.
а. 1; 3; 6; 4; 11; 5; 16; 6 (на нечётных местах всё время +5, на чётных +1)
б. 9; 7; 10; 4; 11; 1; 12; -2; ... (на нечётных +1, на чётных -3)
в. 3; 2; 1; 6; 5; 4; 9; 8; 7; 12; 11; 10... (тройки n;n-1;n-2; первое число тройки - последовательные числа, кратные 3)
Могу предложить ещё несколько ДРУГИХ вариантов продолжения последовательностей и все они, повторюсь, будут ПРАВИЛЬНЫМИ.
Одно только замечание: ВСЕГДА нужно указывать алгоритм или формулу, по которой последовательность строится(продолжается).
Поделитесь своими знаниями, ответьте на вопрос:
Даны два целых числа. составить программу, которая вычисляет сумму данных чисел. 2) Даны два целых числа. Составить программу, которая вычисляет + - * / данных чисел. 3) Даны стороны прямоугольника а и b, найти площадь и периметр прямоугольника.
1)
program summa;
var
first_number, second_number, sum: integer;
begin
sum := 0;
readln(first_number, second_number);
sum := first_number + second_number;
write(sum);
end.
2)
program arifmetica;
var
first_number, second_number, sum, dif, multiplic: integer;
divis: real;
begin
sum := 0;
dif := 0;
multiplic := 0;
divis := 0;
readln(first_number, second_number);
sum := first_number + second_number;
dif := first_number - second_number;
multiplic := first_number * second_number;
divis := first_number / second_number;
writeln('Сумма: ', sum, ' Разница', dif, ' Умножение: ', multiplic, ' Деление: ', divis);
end.
3)
program rectangle;
var
a, b, area, perimeter: integer;
begin
area := 0;
perimeter := 0;
readln(a, b);
area := a * b ;
perimeter := (a + b) * 2;
writeln('Периметр: ', perimeter, ' Площадь: ', area);
end.
Объяснение:
1)
program summa; // Название программы
var
first_number, second_number, sum: integer; // Целочисленные переменные для хранения первой, второй чисел и суммы соответственно
begin // Начало программы
sum := 0; // Переменная, хранящая сумму = 0
readln(first_number, second_number); // Считываем с клавиатуры первое и второе числа
sum := first_number + second_number; // Сумма = первое число + второе число
write(sum); // Выводим значение переменной sum
end. // Конец программы
2)
program arifmetica; // Название программы
var
first_number, second_number, sum, dif, multiplic: integer; // Целочисленные переменные для хранения первой, второй чисел, результатов суммы, разности, умножения соответственно
divis: real; // Вещественная переменная для хранения результата деления
begin // Начало программы
sum := 0; // Переменная, хранящая сумму = 0
dif := 0; // Переменная, хранящая разность = 0
multiplic := 0; // Переменная, хранящая умножение = 0
divis := 0; // Переменная, хранящая деление = 0
readln(first_number, second_number); // Считываем с клавиатуры первое и второе числа
sum := first_number + second_number; // Сумма = первое число + второе число
dif := first_number - second_number; // Разность = первое число - второе число
multiplic := first_number * second_number; // Умножение = первое число * второе число
divis := first_number / second_number; // Деление = первое число ÷ второе число
writeln('Сумма: ', sum, ' Разница', dif, ' Умножение: ', multiplic, ' Деление: ', divis); // Выводим значения переменных sum, dif, multiplic, divis.
end. // Конец программы
3)
program rectangle; // Название программы
var
a, b, area, perimeter: integer; // Целочисленные переменные для хранения первой, второй чисел, результатов площади и периметра соответственно
begin // Начало программы
area := 0; // Переменная, хранящая площадь = 0
perimeter := 0; // Переменная, хранящая периметр = 0
readln(a, b); // Считываем с клавиатуры первое и второе числа
area := a * b ; // Площадь = a умножить на b
perimeter := (a + b) * 2; // Периметр = (a + b), умноженное на 2
writeln('Периметр: ', perimeter, ' Площадь: ', area); // Выводим значения переменных perimeter, area.
end. // Конец программы