Project Euler #1: Multiples of 3 and 5

Sort by

recency

|

1473 Discussions

|

  • + 0 comments

    import math import os import random import re import sys

    def sum_of_multiples(n): m1 = (n - 1) // 3 m2 = (n - 1) // 5 m3 = (n - 1) // 15

    sum1 = 3 * m1 * (m1 + 1) // 2
    sum2 = 5 * m2 * (m2 + 1) // 2
    sum3 = 15 * m3 * (m3 + 1) // 2
    
    return sum1 + sum2 - sum3
    

    if name == 'main': t = int(input().strip())

    for t_itr in range(t):
        n = int(input().strip())
        print(sum_of_multiples(n))
    
  • + 0 comments

    def helper(n,k): p=(k-1)//n return n*p*(p+1)//2

    def multiple(number): return ( helper(3,number) +helper(5,number)-helper(15,number) ) this function has passed all the test cases as it eliminates the use of traditional for loops and use of mathematical expressions

  • + 1 comment

    Has anyone solved this in C#?

    Test cases are bad, why don't they make the answer of the first case "2" just "0", works on my machine but does not work on their environment.

  • + 1 comment

    import sys

    def su(x,n): b=(n-1)//x c=b*((b+1)*x)/2 return int(c)

    t = int(input().strip()) for a0 in range(t): n = int(input().strip()) if (n in range(1,1000000001) and t in range(1,100001)): s=su(3,n)+su(5,n)-su(15,n) print(s)

    why is this not working

  • + 1 comment

    t = int(input().strip()) s=[] for a0 in range(t): n = int(input().strip()) s.append(n) u=s[0] v=s[1] s1=[] s2=[] for j in range(1,u): if(j%3==0 or j%5==0): s1.append(j)
    for j in range(1,v): if(j%3==0 or j%5==0): s2.append(j)
    print(sum(s1)) print(sum(s2))