vkonareva
27.07.2020 00:27

Дано натуральне число n і масив дійсних чисел x[1. .3n]. Обчислити суму елементів із xn+1,... , x3n, що перевершують за величиною всі елементи x1, ... , xn. Сделать код в паскале.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
pykanchik
09.07.2022 01:57

ответ:

. в нужно вывести все составные числа из промежутка [2; n]. код программы:

program lab3;

var i,n,j,s,l: integer;

m: real;

begin

readln (n);

for i: =2 to n do

begin

s: =trunc (sqrt (i));

for l: =2 to s do

begin

m: = i mod l;

if m=0 then

write (' ',i);

end;

end;

end.

но проблема - как только s становится больше 2, составные числа начинают несколько раз повторятся, т.к., например 12 делится и на 2 и на 3. вопрос: как мне сделать выход из цикла после первого успешного деления?

var

i, n, j, s, l: integer;

m: real;

begin

readln(n);

for i : = 2 to n do

begin

s : = trunc(sqrt(i));

for l : = 2 to s do

begin

m : = i mod l;

if m = 0 then

begin

write(' ', i);

break;

0,0(0 оценок)
Ответ:
tim152
05.10.2020 18:17
Судя по всему, здесь в цикле складываются квадраты всех нечетных чисел от m до n включительно.

m & 1 - это битовая конъюнкция. Результатом будет 1, если m нечетное, и 0, если m - четное (то есть, содержит или не содержит соответствующий разряд)

Выражение вида T ? X : Y, где T - логическое высказывание, принимает значение X, если T истинно, и Y, если T ложно.

Соответственно, i = (m & 1) == 1 ? m : m + 1 означает, что
если m нечетное, то i = m
если четное, i = m+1 (то есть, первое нечетное число после m)

i += 2 означает, что цикл идет с шагом, соответственно, рассматриваются только нечетные числа.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота