по работе вынужден учить 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)