кроссворды, задачки, головоломки

Сборник задач разного уровня сложности по математике, информатике, физике, химии, программированию, экономике etc. Логические задачи, SQL задачи, решение задач. Задачи с ответами, а также нерешённые задачи.

Petruchek.Info

Задача #1 из проекта "Эйлер"

Добавлено: 23.03.08 в 09:39
Метки: проект Эйлер

Натуральных чисел, меньших 10 и делящихся на 3 или на 5, всего 4: это числа 3, 5, 6 и 9. Их сумма = 23.

Найти сумму всех натуральных чисел, меньших 1000 и делящихся на 3 или на 5.

СПРЯТАТЬ РЕШЕНИЕ/ОТВЕТ

Здесь всё просто, даже полный перебор выдает нужный ответ.

Однако лучше его оптимизировать, потому что следующие задачи из этого проекта решаться полным перебором скорее всего не будут.

Например, отдельно просуммировать все числа, делящиеся на три (один цикл без проверок) и отдельно сложить все делящиеся на 5, но не делящиеся на 3 (один цикл с одной проверкой).

Сам ответ мы не публикуем по понятным причинам.
источник

Комментарии
Google says:
ST (27.04.08):
Какие циклы, простая арифметика

999/3=333
1+..+333=333*167=55611*3=A
995/5=199
1+...+199=199*100=19900*5=B

990/15=66
1+...+66=67*33=2211*15=C

Ответ: А+B-C
Andrey (23.10.09):
using System;

namespace ConsoleApplication4
{
class Program
{
static void Main()
{
int max = 1000, sum = 0;
for (int i = 1; i < max; i++)
{
if (i % 3 == 0) sum = sum + i;
if (i % 5 == 0) sum = sum + i;
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
}
Суяргулова (03.02.10):
Var S,S1,i:byte;
Begin
S:=0;
S1:=0;
FOR i:=1 to 1000 do
begin
IF i mod 3=0 THEN S:=S+i;
IF i mod 5=0 THEN S1:=S1+i;
end;
S:=S+S1;
writeln (S);
readln;
End.
HexTA (28.03.10):
n = 999.9
res1 = 3*sum(range(n/3+1)) + 5*sum(range(n/5+1)) - 15*sum(range(n/15+1))
print res1

res2 = 0
for i in range(1,n+0.1):
if(not (i % 3) or not(i % 5)):
res2 += i
print res2
HexTA (28.03.10):
Все предыдущие решатели ошибаются, т.к суммируют числа кратные 15 по два раза ;)
PHP (10.07.11):
<?php
$sum=0;
for ($num=1;$num<1000; $num+=1)
{
if ($num%5==0 or $num%3==0)
$sum+=$num;
}
echo $sum. &#39;<br>&#39;;
?>
Java Odessit (05.03.14):
public class Task1 {

public static void main(String[] args) {
int sum = 0;
for (int i = 0; i < 1000; i++) {
if (i%3 == 0 || i%5 == 0) sum += i;
System.out.println("i=" + i + "; i/3=" + i/3 + "; i/5=" + i/5 + "; sum=" + sum);
}
System.out.println(sum);

}

}
Python (17.01.15):
a = 0
b = 0
bb = 0
c = 3
d = 5
x = 0

while a < 999:
a = a + 1

b = a % c
bb = a % d
if b == 0 or bb == 0:

x = x + a

print(x)
Protos (02.02.15):
Python
v=0
for i in range(1000):
if i%5==0 or i%3==0:
v=v+i
v
   Ответ редакции
999/3+999/5-999/15 (деление целочисленное)
Alex (04.05.16):
public class EulerEx1 {
public static void main(String[] args) {

int sum = 0;
int j = 0; // счетчик (кол-во результатов в строке)

for(int i = 1; i < 1000; i++) {

if (((i % 3) == 0) || ((i % 5) == 0)) {
System.out.print(i+ "\t"); // выводим результат на экран (если число кратно 3 или 5)
sum += i; // если число кратно 3 или 5, добавляем его к общей сумме

j++; // считает кол-во выводов результата на экран
if (j % 10 == 0) {
// после вывода каждых 10 результатов, делаем перенос на новую строку
System.out.print("\n");
}
}
}
System.out.println("\n\nСумма: " + sum); // выводим сумму всех найденных чисел, кратных 3 или 5
}
}
barbinkh (07.06.16):
Scala
(for (i <- 1 to 1000 if i % 3 == 0 || i % 5 == 0) yield i).sum
Сергей (16.02.17):
Где же все-таки ответ посмотреть. Как самый настоящий новичек без понятия правильно ли решил или насколько близок к правильному ответу, или вообще муть полная. Как же проверить себя то..

Java Script

var summ5 = 0;
var summ3 = 0;
for (var i = 5; i < 1000; i++) {
if (i % 5 != 0) continue;
summ5 += i;
}
for (var i = 3; i < 1000; i++) {
if (i % 3 != 0) continue;
summ3 += i;
}
document.write(summ5 + summ3); // результат: 266333
kraus (16.07.18):
python
x = 0
x2 = 0
a = 0
a2 = 0
for x in range(0, 1000):
x = x + 1
if x % 3 == 0 and x % 5 != 0:
x2 = x2 + x
for x in range(0, 1000):
a = a + 1
if a % 5 == 0 and a % 5 != 0:
a2 = a2 + a
question = a2 + x2
print(question)
Максим (20.08.18):
var S,i : integer;
begin
S := 0;

for i := 1 to 999do
If (i mod 3 = 0) or (i mod 5 = 0) then S := S + i ;

write(S);
end.
yelik217890 (11.01.19):
Sum = 0
N=1000
for a in range(N):
if a%3==0 or a%5==0:
Sum += a
print(Sum)
Екатерина (06.02.19):
233168
МожноКВам (06.03.19):
Суммачисел = 0;
для а = 1 по 999 цикл
если а%3=0 или а%5=0 тогда
Суммачисел = Суммачисел+а
конецЕсли
КонецЦикла;
Сообщить(Суммачисел);
233168 :)
Joy (06.03.19):
// C#
HashSet<int> ii = new HashSet<int>();
for (int f = 3; f < 1000; f += 3) ii.Add(f);
for (int f = 5; f < 1000; f += 5) ii.Add(f);
int sum = ii.Sum();
// 233168
Гость (06.03.19):
number = 0
summ = 0
while number < 1000:
if number % 15 == 0: #Важно! т.к можно посчитать числа которые деляться и на 3 и на 5
summ=(summ -number)
if number % 3 == 0:
summ=(number + summ)
if number % 5 == 0:
summ=(number + summ)
number += 1
print(summ)
#P.S Ответ 233168
Python Padavan (11.03.19):
#Python 3 / Python Padavan#
#Способ перебора#
i = 0
i3 = (i % 3)
i5 = (i % 5)
s3 = 0
s5 = 0
s15 = 0

while i < 1000:
if i3 == 0:
s3 += i
if i5 == 0:
s5 += i
if i3 == 0 and i5 == 0:
s15 += i
i += 1
i3 = (i % 3)
i5 = (i % 5)
print('Сумма натуральных чисел до 1000, кратных 3 или 5, равняется: ' + str(s3 + s5 - s15))
#P.S. Ответ 233168#
Python Padavan (11.03.19):
#Python 3 / Python Padavan#
#Способ математический / можете подставить в код любой НАТУРАЛЬНЫЙ диапазон \
# и любые НАТУРАЛЬНЫЕ числа кратности#
i1: int = 1
imax: int = 999
k1: int = 3
k2: int = 5

s = (imax // k1 * k1 + (k1 - i1 % k1) + i1) / 2 * (imax // k1) + \
(imax // k2 * k2 + (k2 - i1 % k2) + i1) / 2 * (imax // k2) - \
(imax // (k1 * k2) * (k1 * k2) + ((k1 * k2) - i1 % (k1 * k2)) + i1) / 2 * (imax // (k1 * k2))

print('Сумма натуральных чисел до ' + str(imax + 1) + ', кратных ' + \
str(k1) + ' или ' + str(k2) + ' равняется: ' + str(s))

#P.S. Ответ: 233168#
Аноним (12.03.19):
print(sum(i for i in range(1000) if i % 5 == 0 or i % 3 == 0))
Аноним (12.03.19):
i = 0
my_list = []
while i < 1000:
if i % 5 == 0 or i % 3 == 0:
my_list.append(i)
i = i + 1

print (sum(my_list))
Python Padavan (12.03.19):
Аноним который написал: print(sum(i for i in range(1000) if i % 5 == 0 or i % 3 == 0)) ,но не предстваился. Ты самый крутой Джедай (а может быть Ситх).
Аноним (15.03.19):
l1 = []
l2 = []

for x1 in range(1,1000):
if (x1 % 3) == 0:
l1.append(x1)
print (l1)
print(sum(l1))

for x2 in range(1,1000):
if (x2 % 5) == 0:
if (x2 % 3) != 0:
l2.append(x2)
print (l2)
print(sum(l2))

print (sum(l1) + sum(l2))
Аноним (15.03.19):
a=[x for x in range(1,1000) if x%3==0 or x%5==0]
print(sum(a))
Витос (20.03.19):
1000//3
333
1000//5
200
200-5
195
333+195
528
gdl68 (20.03.19):
x = 0
for i in range(1,1000):
if i % 3 == 0 or i % 5 == 0:
x +=i
print(x)
MyLongCode (20.03.19):
Писал на Питоне

nums = []
x = 1
while x < 1000:
x = x + 1
if x % 3 == 0:
nums.append(x)
if x % 5 == 0:
nums.append(x)
print(sum(nums))
Zaltic (21.03.19):
Python без циклов и ветвлений:

n3= int(999/3)
n5 = int(999/5)
sum = 3 * (n3 * (n3 + 1) / 2) + 5 * (n5 * (n5 + 1) / 2)
print(sum)

266333
вот скажите только почему на projecteuler.net не принимает это число как правильное? Алгоритм свой проверял.
Zaltic (21.03.19):
3, 6, 9, ... ~ 3*(1+2+3+....)
5, 10, 15, ... ~ 5*(1+2+3+ ....)
получаем сумму ряда натуральных чисел, которую вычисляется по формуле S=n*(n+1)/2
и все
Zaltic (21.03.19):
Понял свою ошибку, не учел общие кратные для 3 и 5
Окончательный исправленный вариант:


n3= int(999/3)
n5 = int(999/5)
n15 = int(999/15)
sum = 3 * (n3 * (n3 + 1) / 2) + 5 * (n5 * (n5 + 1) / 2) - 15 * (n15 * (n15 + 1) / 2)
print(sum)

233168
Аноним (23.03.19):
num = 3
num_1 = 5
if num < 1000:
n = 1000 // num
dob = n * num
sum_1 = dob + num
sum_2 = sum_1 / 2
res = dob * n
if num_1 < 1000:
n_1 = 1000 // num_1
dob_1 = n_1 * num_1
sum_4 = dob_1 + num_1
sum_3 = sum_4 / 2
res_1 = dob_1 * n
res_2 = res + res_1
print (res_2)
PYTHON (25.03.19):
number_sum=[x for x in range(0,1000)if x%3 == 0 or x%5 == 0]
print(sum(number_sum))
Anonim (28.03.19):
for a in range(1000):
if a % 5 == 0 or a % 3 == 0:
b.append(a)
print(sum(b))
Anonim (28.03.19):
Исправил
b=[]
for a in range(1000):
if a % 5 == 0 or a % 3 == 0:
b.append(a)
print(sum(b))
grimskal (29.03.19):
summa = 0
for i in range(1000):
if i % 3 == 0:
summa += i
elif i % 5 == 0:
summa += i

print(summa)

233168
First1Winner (31.03.19):
#Python3. Моя первая самостоятельная прога)

a = 1
i = 0
while a < 999:
a += 1
if a % 3 != 1:
if a % 3 != 2:
i = a + i
print(i)
b = 1
c = 0
while b < 999:
b += 1
if b % 5 == 0:
if b % 3 != 0:
c = b +c
print(c)
print(c+i)

#233168
Дядя Боря (02.04.19):
int sum = 0;

for (int i = 0; i < 1000; i++)
{
if ((i % 3 == 0) || (i % 5 == 0))
{
sum += i;
}
}
python (14.04.19):
n = 0
m = 0
while n < 1000:
if n % 3 == 0 or n % 5 == 0:
m += n
n += 1
print(m)

#233168
АРтур (16.04.19):
function krat(x, y, m) {
var count = 0;
for(let i = 1; i < m; i++) {
if (i%x === 0 || i%y === 0) {
count += i;
};
};
return count;
};

console.log(krat(3, 5, 1000)); //233168
JavaScript (19.04.19):
var arr = new Array(1000);
var k;
var summ=0;

for (k=0; k<arr.length; k++) {
arr[k] = k;
if (arr[k]%3===0 || arr[k]%5===0){
summ += arr[k];
}
}

document.write (summ);
JavaScript (19.04.19):
Не благодарите
Стас С++ (20.04.19):
Писал на С++ и почему-то получилось в ответе 234168, что не так? Спасибо!

#include <iostream>
using namespace std;
int main()
{
int n = 0, m = 1000;
int sum = 0;
for (int i = n; i <= m; i++)
if (i % 3 == 0|| i % 5 == 0)
{
cout << i << " \n\n";
sum += i;
}
cout << endl << sum; " \n";

return 0;


}
Стас С++ (20.04.19):
Исправленный вариант на С++, ответ верный

#include <iostream>

using namespace std;

int main()
{
int n = 0, m = 1000;
int sum = 0;
for (int i = n; i < m; i++) //равенство СТРОГОЕ
{
if (i % 3 == 0 || i % 5 == 0)
{
cout << i << " ";
sum += i;
}
}
cout << endl << sum << endl;
return 0;
}
кук (20.04.19):
i=1
res=0
while i+1<1000:
i+=1
if float(i) % 3==0:
res+=i
else:
if float(i)%5==0:
res+=i
print(res)
xAntonx (21.04.19):
python
#Извиняюсь за простоту только изучаю Python
first = list(range(3, 1000, 3))
second = list(range(5, 1000, 5))
third = first[:] + second[:]
third = list(set(third))
print(sum(third)) #233168
Павлик 30 годиков (22.04.19):
sum = 0
for i in range(1, 1000):
if i%3 == 0 or i%5 == 0:
sum = sum + i
else:
print("Cумма:",sum)
Аноним (25.04.19):
from math import fsum
x = int(input('Введите Х:'))
i = 2
p = []
while i < x:
if (i % 3 != 0) and (i % 5 != 0):
i+=1
continue
else:
p.append(i)
i+=1
print(p)
print ('Сумма всех чисел равна:' + str(sum(p)))
Python (15.05.19):
a = []#Числа кратные трем
for i in range(0,1000,3):
a.append(i)
b =[]#Числа кратные пяти
for i in range(0,1000,5):
b.append(i)
c = a + b
c = list(set(c))
x = sum(c)
print(x)
Pascal (02.06.19):
const N=1000;
var s,i:integer;
begin
for i:=1 to N do begin
if (i mod 3=0) or (i mod 5=0) then
s:=s+i;
end;
writeln(s);
end.
cool22ee (05.06.19):
a=0
b=0
while a < 1000:
a=a+1
if a % 3 == 0 and a % 5 == 0:
b=b+a
else:
b=b
print("Сумма первых 1000 чисел кратных 3 и 5 равна : "+str(b) )
aranturian (07.06.19):
по работе вынужден учить 1С
&НаКлиенте
Процедура Команда1(Команда)
Сумма = 0;
Для Счетчик = 3 По 999 Цикл
Если Счетчик%3 = 0 ИЛИ Счетчик%5 = 0 Тогда
Сообщить(Счетчик); //для наглядности
Сумма = Сумма + Счетчик;
КонецЕсли;
КонецЦикла;
Сообщить(Сумма); //ответ
КонецПроцедуры
   Ответ редакции
Бросайте 1с пока не поздно.

Это хуже говна
alex56 (09.06.19):
y=0
for i in range(1,1000):
if i%3==0:
y=y+i
elif i%5==0:
y=y+i
else:
print(y)
Константин (18.06.19):
Привет из мира 1С

Процедура ПриНачалеРаботыСистемы()
Граница = 1000;
Массив = Новый Массив;
Для Сч = 1 по Граница-1 Цикл
Если Сч%3 = 0 Тогда
Массив.Добавить(Сч);
Продолжить;
КонецЕсли;
Если Сч%5 = 0 Тогда
Массив.Добавить(Сч);
Продолжить;
КонецЕсли;
КонецЦикла;
Сумма = 0 ;
Если Массив.Количество() >0 Тогда
Для каждого Элемент из Массив Цикл
Сумма = Сумма+Элемент;
КонецЦикла;
КонецЕсли;
Сообщить(Сумма);
КонецПроцедуры
cloy (20.06.19):
a=list(range(1,1000))
for i in a:
if i%3==False and i%5==False:
i=0
print(sum(a))
cloy (20.06.19):
a=list(range(1,1000))
for i in a:
if i%3!=0 and i%5!=0:
a[i-1]=0
print(sum(a))
#фигню сверху написал, а удалить не могу(
Fram (25.06.19):
Pascal
-----------

Uses crt;
Var i,s:integer;
Begin
s:=0;
for i:=1 to 999 do
Begin
If (i mod 3 = 0) or (i mod 5 = 0) Then
S:=S+i;
end;
writeLn(S);
end.
Алексей (01.07.19):
vb.net 2010
Решение без использования деления
---------------------
Imports System.Console

Module Module1
Sub Main()
Dim sum As ULong = 0
Dim t As Byte = 1
Dim p As Byte = 1
For i As UInt16 = 1 To 999 Step 1

If t = 3 Or p = 5 Then

sum += i
Console.WriteLine(sum & " " & i)
If t = 3 Then t = 0
If p = 5 Then p = 0

End If

t += 1
p += 1


Next

Console.WriteLine(sum)
Console.ReadLine()

End Sub
End Module

--------------------------
Ответ: 233168
Хотелось бы понять, почему ответ не совпал с указанным на сайте проекта (860323).
kikkigenkai (09.07.19):
Зачем так усложнять?
С
#include <stdio.h>
#include <stdlib.h>

int main() {
int sum = 0;

for (int i = 0; i < 1000; i++) {
if ((i % 3 == 0) || (i % 5 == 0)) {
sum += i;
}
}

printf("%d", sum);
return 0;
}
Python (10.07.19):
s = 0
for i in range(1,1000):
if (i % 5 == 0) or (i % 3 == 0):
s = s + i
print(s)
Vold (17.07.19):
n=int(999/3)-1
an=3+3*n
s1=(3+an)*n/2
n=int(999/5)-1
an=5+5*n
s2=(5+an)*n/2
n=int(999/15)-1
s3=(15+(15+15*n))*n/2
print (s1+s2-s3)
Аноним (18.07.19):
public class Task {
public static void main(String[] args) {

int x=0;
int sum=0;
while(x<999) {
x++;
if (x % 3 == 0 || x % 5 == 0) {
sum+=x;
}
}
System.out.println("Summa = "+ sum);
}
}
Anonim (18.08.19):
Помогите понять где ошибка пожалуйста. выдает неверную сумму в конце. Оч много кода. пока только начал учить пайтон ниче не знаю толком.
# 1. Поиск всех чисел меньше 1000 кратных 3 или 5. Сложение всех полившихся чисел.
i = 0
count = 1000
summ1 = 0 # Цикл 1. Кратность 5
while i < count:
if i % 5 == 0: # Проверка кратности 5
summ1 = summ1 + i # Сложение кратных натуральных чисел.
i = i + 1 # Передвижение счетчика от i до count. Шаг = 1.
else:
i = i + 1 # Передвижение счетчика от i до count. Шаг = 1.
summ2 = 0 # Цикл 2. Кратность 3.
i = 0
while i < count:
if i % 3 == 0: # Проверка кратности 3
summ2 = summ2 + i # Сложение кратных натуральных чисел.
i = i + 1 # Передвижение счетчика от i до count. Шаг = 1.
else:
i = i + 1 # Передвижение счетчика от i до count. Шаг = 1.
print ("Сумма всех натуральных чисел меньше {}, кратных 3 и 5 равна {}".format(count,
summ2 + summ1)) # Вывод результата на экран.
Dariy Python (19.08.19):
Не кидайтесь тапками, я совсем новичок.
x=sum(range(3,1000,3))
y=sum(range(5,1000,5))
z=sum(range(15,1000,15))
print(x+y-z)
split (24.08.19):
Pascalabc.net

uses System, System.Diagnostics;
begin
var sw1:= new Stopwatch; // создаем 3 таймера
var sw2:= new Stopwatch;
var sw3:= new Stopwatch;
var sw4:= new Stopwatch;
// переменные
var h:=3*5; // делитель для чисел одновременно делящихся на 3 и 5
var m:=1000-1;

sw1.Start();
var s:=0;
for var i:=1 to m do
if (i MOD 3) =0 then s:=s+i else if (i MOD 5) =0 then s:=s+i;
sw1.Stop;
writeln(s, ' ',sw1.Elapsed);

sw2.Start();
s:=0;
for var i:=1 to m div 5 do
s:=i*5+s;
for var i:=1 to m div 3 do
s:=i*3+s;
for var i:=1 to m div 15 do
s:=s-i*h;
sw2.Stop;
writeln(s, ' ',sw2.Elapsed);

sw3.Start();
var t:=0;
s:=0;
while t<1000 do begin
s:=s+t;
t:=t+5;
end;
t:=0;
while t<1000 do begin
s:=s+t;
t:=t+3;
end;
t:=0;
while t<1000 do begin
s:=s-t;
t:=t+h;
end;
sw3.Stop;
writeln(s, ' ',sw3.Elapsed);

sw4.Start();
s:=333*167*3; //1*3+2*3+3*3+4*3..333*3
s:=s+199*100*5;//1*5+2*5+3*5+4*5..199*5
s:=s-67*33*15;
sw4.Stop;
writeln(s, ' ',sw4.Elapsed);

end.


233168 00:00:00.0000127
233168 00:00:00.0000024
233168 00:00:00.0000020
233168 00:00:00.0000004
enoto (06.09.19):
Python

sum = 0
i = 1000
while i > 0:

if (i%3==0 or i%5==0) and (not(i%3==0 and i%5==0)):
sum += i
i-=1
print(sum)

>>> 201003

Подскажите, правильно-ли я составил логическое выражение для обхода 15 например?
P.S.
И вообще условие (на русском) можно трактовать по разному. Решил так как мне показалось задумано.
Python 3 (09.09.19):
a = 0
res = 0
while a <= 999:
a += 1
c = a % 3
c1 = a % 5
if c == 0 or c1 == 0:
res += a
print(res)
Карабас Б. (11.11.19):
using System;
namespace Problem1
{
class Program
{
static void Main(string[] args)
{
int a, b, c, sum=0;
for (c = 0; c < 1000; c += 1)
{a = b = c;
a %= 5; b %= 3;
if (a == 0) { sum += c;}
else { if (b == 0) { sum += c;}}
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
}
Карабас Б. (11.11.19):
using System;
namespace Problem1
{
class Program
{
static void Main(string[] args)
{
int a, b, c, sum=0;
for (c = 0; c < 1000; c += 1)
{a = b = c;
a %= 5; b %= 3;
if (a == 0) { sum += c;}
else { if (b == 0) { sum += c;}}
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
}
МояЛюбитьПитон (02.12.19):
print(sum(i for i in range(3,1000,3)) + sum(i for i in range(5,1000,5)) - sum(i for i in range(15,1000,15)))
Аноним (02.12.19):
sum = 0
for item in range (0 , 1000):
if item % 3 == 0:
sum += item
elif item % 5 == 0:
sum += item


print(sum)
python_nub (25.12.19):
summ = 0
for number in range ( 1,1000 ):
if number % 3 == 0 or number % 5 == 0:
summ += number
print(summ)
Аноним (10.01.20):
l=[i for i in range(0, 1000, 1 )] # 1
b=[]
for x in l:
if x%3==0:
b.append(x)
elif x%5==0:
b.append(x)
c= sum(b)
print(c)
Panda (05.03.20):
# Python 3
x = 0
for i in range(1000):
if i % 3 == 0 or i % 5 == 0:
x += i
print(x)
# Результат 233168
Олег (15.03.20):
print(sum([i for i in range(1000) if i%3 == 0 or i%5 == 0])) // Python 3
youtmoreast (29.03.20):
#Python3
num = 0
for x in range(1000):
if x%3==0 or x%5==0:
num += x
print(num)
Владимир (31.03.20):
#python 3.8

print("Сумма =",sum([x for x in range(1,1000) if x%3 == 0 or x%5 == 0]))
Вячеслав (01.04.20):
###PYTHON###
number = 0
number_sum = 0
y = 0
while number < 999:
number = number + 1
x = number % 3 == 0 or number % 5 == 0
if x == True:
y = number
number_sum = number_sum + y
print(number_sum)
Maks (01.04.20):
print(sum(range(0,1000,3))+sum(range(0,1000,5)))
ответ:266333
dragonkiller80level@gmail.com (01.04.20):
list1 = [i*3 for i in range(int(1000/3)) if i*3 % 3 == 0]

list2 = [i*5 for i in range(int(1000/5)) if i*5 % 5 == 0]
print(list1)
print(list2)
def listsum(numList):
theSum = 0
for i in numList:
theSum = theSum + i
return theSum
print(listsum(list1))
print(listsum(list2))


165834 i = 3
99500 i = 5

Right ???
Роман (04.04.20):
#PYTHON#

def countsumm(n, devide, m=0):
summ = 0
if n % devide == 0:
while n >= devide:
summ += n + m
n -= devide
return summ
if n < 3:
return 0
return countsumm(n-1,devide, m)

def summ_tf(num):
num -= 1
n = num//15
rest = num%15
sump = 0
col = 9
for i in range(1, n):
sump += i
col += 1
summ = 60*n + 105*sump
if rest == 0:
return [summ, col]
else:
if num > 15:
summlast = countsumm(rest, 3, n*15) + countsumm(rest, 5, n*15)
summ += summlast
return [summ, col]
else:
return [countsumm(rest, 3) + countsumm(rest, 5), col]

A = summ_tf(100000)

print("Summ = " + str(A[0]) + " count operation ~ " + str(A[1]))

Работает со всеми числами и выполняет точно раз в 10 меньше операций
Аноним (06.04.20):
Python

print(sum(range(0,1000,3))+sum(range(0,1000,5))-sum(range(0,1000,15)))

Как по мне, самое простое
Ответ: 233168
python (28.04.20):
python

score = 0

for i in range(0, 1000):
if i % 3 == 0:
score += i

for i in range(0, 1000):
if i % 5 == 0 and i % 3 != 0:
score += i

print(score)
Аноним (30.04.20):
a = 0
b = 0
for i in range(1000):
if i % 3 == 0:
a += i
continue
if i % 5 == 0:
b += i
continue
print(a + b) 233168 не забываем про общий числа кратные и 5 и 3
uubek (01.05.20):
result = 0

for r in range(1, 1000):
if r % 3 == 0:
result += r
elif r % 5 == 0:
result += r

print(result)
Python 3.8.2 (02.05.20):
#test

i = 0
g = 0

while True:
if i >= 1000:
print(g)
break
elif (i % 3 == 0):
g+=i
elif (i % 5 == 0):
g+=i
i+=1
dimas (02.05.20):
Слишком сложно делаете)
Python
x = [x for x in range(1,1000) if x%3 or x%5
print(sum(x))
dimas (02.05.20):
В предыдущем комментарии пропустил скобку.
Аноним (11.05.20):
Python
a = []
for i in range(1,1000):
if i%3==0 or i%5==0:
a.append(i)
print(sum(a))
GoloGraFF (19.06.20):
чувствую себя дураком
LAST_NUM = 1000

def main():
sum_num = 0
for i in range(LAST_NUM):
delit = try_ost(i)
if delit:
sum_num = sum_num + i
else:
print("чисто", i, "не делится на 3 и 5 без остатка")
print("iter No ", i)
print(sum_num)


def try_ost(sost):
ter = sost % 3
ter1 = sost % 5
res = True
if ter == 0 or ter1 == 0:
res = True
else:
res = False
return res

main()
abrigo (04.07.20):
Pascal ABC

program project_eiler_zadcha1;
Var
f, i:integer;
Begin
f := 0;
for i := 0 to 999 do
begin
if (i mod 3 = 0) or (i mod 5 = 0) then
f := f + i
end;
write('сумма равна ', f) ;
End.
Werock1337 (17.08.20):
python

i=0
k=0
while i < 999:
i+=1
if i%3==0 or i%5==0:
k+=i

print (k)
Su1tan6ek (06.10.20):
numbers = [3, 5]
i = 2
x = 0
y = 0
while True:
if x <= 1000:
x = numbers[0] * i
numbers.append(x)
else:
i = 0
break
i = i + 1

while True:
if y <= 1000:
y = numbers[1] * i
numbers.append(y)
else:
break
i = i + 1

result = sum(numbers)
result = result - (numbers[0] + numbers[1])
print(result) # Проект Эйлера 1 задание

Ответ:269337
Аноним (20.10.20):
Python
a=0
for i in range(1000):
if i%3==0 or i%5==0:
a+=i
print(a)
Аноним (20.10.20):
s=0
n=1000
i=0
while i<n-1:
i+=1
if i%3==0 or i%5==0:
s+=i
print(s)
Azgaar (12.12.20):
JS, 532 операции в цикле.

let summ = 0, ops = 0;
for (let i=3; i < 1000; i += 3) {
ops ++;
summ += i;
}

for (let i=5; i < 1000; i += 5) {
ops ++;
if (i % 3) summ += i;
}

console.log(ops, summ);
Аноним (12.12.20):
swift//

var summ = 0
for i in 1..<1000 {
if i % 3 == 0 {
summ += i
} else if i % 5 == 0 {
summ += i
}
}
print(summ)
233168
parenkepka (14.12.20):
x = 0
y = 0
a = 0
b = 0

while True:
if x < 1000:
y += x
x += 3
elif x >= 1000:
break

while True:
if a < 1000:
b += a
a += 5
elif a >= 1000:
break

summ = b + y
print(summ)
parenkepka (14.12.20):
А, ну да, действительно, пропустил пересечения по пятнашкам. Админам просьба удалить предыдущий комментарий

x = 0
y = 0
a = 0
b = 0
c = 0
d = 0

#считаем сумму чисел кратную 3
while True:
if x < 1000:
y += x
x += 3
elif x >= 1000:
break

#считаем сумму чисел кратную 5
while True:
if a < 1000:
b += a
a += 5
elif a >= 1000:
break

#считаем сумму чисел кратную 15, чтобы потом вычесть из общей суммы для исключения повторов по 3 и 5
while True:
if c < 1000:
d += c
c += 15
elif c >= 1000:
break

summ = b + y - d
print(summ)
MIRO (09.01.21):
#Python
# Создаём 0
x = 0
for i in range(1, 1000):
# Если оно к примеру остановится на 15, что делится и на 3 и на 5, оно посмотрит с начала, делится ли оно на 5, а потом только если не делится
# посмотрит дальше, но т.к. оно делится, он исполняет код, и никаких повторов нет!
if i % 5 == 0 or i % 3 == 0:
#Тут x а не просто = 0 + i, потому что иначе бы мы просто теряли новое значение x, и оно бы просто стало i, то есть цифрами до 1000
x = x + i
#Выведет 233168
print(x)
Пашок (18.01.21):
python
cislo = input('введіть число для перевірки: ')
summ = 0
for i in range(int(cislo)):
if (i % 3 == 0 or i % 5 == 0):
summ = summ + i
print('cislo ' + str(i))
print(summ)
Ligr (18.02.21):
numm = [i for i in range(1, 1000) if i % 3 == 0 or i % 5 == 0]
print(sum(numm))
Анатолий (08.06.21):
С Питоном знаком только по книге "Укус питона" до 63 стр., до этого очень давно изучал немного Вижуал Бейсик)) Всё!

b1 = 5
a1 = 3
z = 999
for p in range(b1, z, b1):
s1 = ((2 * b1 + ((z // b1) -1) * b1) / 2) * (z // b1) # формула для суммы п-членов арифметической прогрессии
s2 = ((2 * a1 + ((z // a1) -1) * a1) / 2) * (z // a1)
s3 = ((2 * (a1*b1) + ((z // (a1*b1)) -1) * (a1*b1)) / 2) * (z // (a1*b1))
else:
print (s1 + s2 - s3)
Аноним (16.01.24):
можно решить без циклов с помощью арифметической прогрессии. Мы дадим системе лишь числа описанные в условии, а все остальное сделает программа: найдет последний элемент прогрксси ниже 1000, вычислит сумму прогресси для 5, 3 и 15, прибавит и отнимет. А. сложность проиги будет O(1)
Комментарий от новенького:
Новенький является
Новенький не робот
Знаки на картинке: латинские буквы, арабские цифры


Есть на сайте: Онлайн кроссворды Задачи Онлайн игры Блог
Все работы, опубликованные на сайте — авторские, если не указано иное. Перепечатка возможна только с письменного разрешения владельцев ресурса, с обязательной ссылкой на сайт petruchek.info. Пишите нам: . Сайт должен работать в IE, FF, Opera, Safari.

Реклама:

Разработано в студии "Webous"о проектесайта карта

Реклама: