М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dastanemilbeko
dastanemilbeko
17.03.2021 03:01 •  Информатика

Сумма чисел 2 На вход программе подается натуральное число n . Напишите программу, которая
подсчитывает сумму тех чисел от 1 до n (включительно) квадрат которых оканчивается
на 2, 5 или 8.
Формат входных данных
На вход программе подается натуральное число n.
Формат выходных данных
Программа должна вывести единственное число в соответствии с условием задачи.
Примечание. Если таких чисел нет в указанном диапазоне, то следует вывести 0.

👇
Ответ:

Второй вариант.

ЗНАЧИТЕЛЬНО быстрее всего. Пробуйте на больших числах

n=int(input())

n=(n-5)//10+1

print (5*n*n)

Объяснение:

Кто-то скажет что моя программа не полная, и это полная чушь (любите каламбуры?). Но она дает правильный результат.

Подсказка. Программист должен думать и не делать лишних циклов. Квадраты каких чисел заканчиваются на 2, на 8?

Что осталось?

А как долго работает ваша программа при n=1 000 000 000? :)

4,4(41 оценок)
Открыть все ответы
Ответ:
danialSANDY
danialSANDY
17.03.2021

uses crt;

var i,s:integer;
a:array[1..5] of integer;
begin
randomize;
s:=0;
for i:=1 to 5 do
begin
a[i]:=random(15)-5;
if a[i]>0 then s:=s+a[i];
end;
writeln(s);
readln;
end.


uses crt;

var i,s:integer;
a:array[1..7] of integer;
begin
s:=0;
randomize;
for i:=1 to 7 do
begin
a[i]:=random(15)-5;
if ((a[i]>0) and (a[i] mod 2 = 0)) then inc(s);
end;
writeln(s);
readln;
end.

 

uses crt;

var i,s:integer;
a:array[1..6] of integer;
begin
s:=1;
randomize;
for i:=1 to 6 do
begin
a[i]:=random(15)-5;
if (a[i]>0) then s:=s*a[i];
end;
writeln(s);
readln;
end.

4,6(40 оценок)
Ответ:
Ruda05
Ruda05
17.03.2021

uses crt;

var i,s:integer;
a:array[1..5] of integer;
begin
randomize;
s:=0;
for i:=1 to 5 do
begin
a[i]:=random(15)-5;
if a[i]>0 then s:=s+a[i];
end;
writeln(s);
readln;
end.


uses crt;

var i,s:integer;
a:array[1..7] of integer;
begin
s:=0;
randomize;
for i:=1 to 7 do
begin
a[i]:=random(15)-5;
if ((a[i]>0) and (a[i] mod 2 = 0)) then inc(s);
end;
writeln(s);
readln;
end.

 

uses crt;

var i,s:integer;
a:array[1..6] of integer;
begin
s:=1;
randomize;
for i:=1 to 6 do
begin
a[i]:=random(15)-5;
if (a[i]>0) then s:=s*a[i];
end;
writeln(s);
readln;
end.

4,7(56 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ