var
A, B, c, x, p1, p2 :double;
const
PI = 3.1415926;
begin
readln(A, B, c, x);
if exp(c+power(x,0.2)) <> 0 then
p2 := 32.7*power(A,3)*x/exp(c+power(x,0.2))
else begin
writeln('Деление на 0 во второй дроби');
halt;
end;
if (abs(0.65 * A * PI * Power(x,3))<> 2*PI) then
p1 := tan(0.65 * A * PI * Power(x,3))
else begin
writeln('Аргумент для тангенса неверен');
halt;
end;
if (p1 < 0) then begin
writeln('Отрицательное подкоренное выражение');
halt;
end
else
if(p1 = 0) then begin
writeln('Деление на 0 в первой дроби');
halt;
end;
writeln('Результат: ', (B * cos(x)*cos(x))/sqrt(p1)+p2);
end.
Объяснение:
Программы правда выводят не просто число, т.к. это не очень понятно получается, поэтому сначала выводится название того, что именно мы сосчитали.
Когда проверите работу программы, просто уберите текстовую часть вывода в конце, и тогда будет как в задаче- выводится только одно число.
Также, в последней программе можно сократить сообщение при отсутствии искомых чисел до просто "NO".
1) оканчивающиеся на 4 (минимальное):
цел ч,н,п,м=0
алг
нач
вывод "количество чисел в последовательности= "
ввод п
вывод "ввод последовательности натуральных чисел:", нс
нц для н от 1 до п
вывод "число ", н, " из ", п, " = "
ввод ч
если mod (ч, 10) = 4 то
если м=0 или м>ч то м := ч всё
всё
кц
вывод "минимальное число, оканчивающееся на четыре= ", м
кон
2) кратные 5 (среднее арифметическое):
цел ч,н=0,с=0,к=0
алг
нач
вывод "ввод последовательности натуральных чисел:", нс
нц
н := н+1
вывод "число №", н, " = "
ввод ч
если mod (ч, 5) = 0 и ч <> 0 то
с := с+ч
к := к+1
всё
кц при ч=0
если к=0 то
вывод "NO (нет чисел, кратных пяти)"
иначе
вывод "среднее арифметическое чисел кратных пяти= ", с/к
всё
кон
Поделитесь своими знаниями, ответьте на вопрос:
Найти все десятичные числа, не превосходящие 25, запись которых в системе счисления с основанием 2 оканчивается на 110.
110₂ = 1×2²+1×2¹+0×2⁰ = 4+2 = 6₁₀
А теперь посмотрим на картинку во вложении.
Три младших разряда, дающие требуемые 110₂, мы не трогаем. А в старшие разряды начинаем добавлять по +1, получая из 000 значения 001, 010, 011...
А это ни что иное, как числа 0, 1, 2, ... но только с четвертого бита, а не с первого, поэтому они будут множителями числа 2³ = 8. И будем получать последовательно 0, 8, 16, ... Остается только прибавлять к ним наше исходное 6, получая ряд 6, 14, 22, ...
Долго? Но это из-за разъяснения.
А вот пример. Пусть нам надо найти числа, не превышающие 31, такие, что в трех младших разрядах будет 101₂. Как решить?
101₂ = 5. Три бита заняты, счетчик пойдет с четвертого, давая множители 2³=8. Получаем ряд 5, 8+5=13, 2×8+5=21, 3×8+5=29.
Еще пример. Пусть теперь в младших разрядах записано 1010, а границей будет 45.
1010₂ = 10₁₀. Занято 4 разряда, поэтому счетчик пойдет с пятого, порождая множители кратные 2⁴ = 16. Получаем 10, 16+10=26, 2×16+10=42, ...