سوال و جواب برنامه نویسی سایت projecteuler.net



چالش نهم سایت projecteuler.net این هست:

یک مثلث فیثاغورثی مجموعه ای از 3 عدد طبیعی است که a<b<c می باشد به طوری که:

a2 + b2 = c2

برای مثال 32 + 42 = 9 + 16 = 25 = 52

برای معادله a + b + c = 1000 دقیقا یک مثلث فیثاغورث وجود دارد. اندازه abc را پیدا کنید

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

for i in range(1, 336):
    for j in range(i+1, 670):
        for k in range(j+1, 1000):
            if i+j+k == 1000:
                if ((i*i)+(j*j) == k*k):
                    print(i*j*k)

 


چالش هشتم سایت projecteuler.net این هست:

چهار رقم مجاور که بیشترین حاصلضرب را در عدد هزار رقمی زیر دارند 9989 هستند که حاصلضرب آنها برابر با 5832 می گردد.

13 رقمی که بیشترین حاصلضرب را در این عدد دارند یافته و حاصلضرب را اعلام کنید.

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

bigNum=731671765313306249192251196744265747423553491949349698352031277450632623957830169848069478854385861560789112949495459501737958331952853208805511125406987471585238630507156932909632952274430435576689664895044524452316173564030987111217223831136222989342338030813533627661428280644448664523874930358907296290491560440772390713810515859307960866701724271283998797908792274921901699720888093776657273330010533678812202354209751254540594752243525849077116705560136048395864467063244157221553975369781797784617406495514929086256932197846862248283972241375657056057490261407972968652414535100474821663704844031998900088952434506585412275886668811642717147992444292823086346567481391912316282458617866458359124566529476545682848912883142607690042242190226710556263211111093705442175069416589604080719840385096245544436298123098787992724428490988458015616609791913387549920052406368991256071760605886116467109405077541002256983155200055935729725716362695682670428252483600823257530420752963450
prod,maxProd=1,0
numToStr=str(bigNum)
length=len(numToStr)
for i in range(1,length-13+1):
    prod=1
    for z in range(i,i+13):
        prod=prod*int(numToStr[z-1:z])
        if prod>maxProd:
            maxProd=prod
print (maxProd)

 


چالش هفتم سایت projecteuler.net این هست:

با ذکر لیست شش عدد اول که 2، 3، 5، 7، 11، 13 می باشند، می توانیم ببینیم که ششمین عدد اول 13 است.

10001 امین عدد اول کدام است؟

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

def isPrime(num):    
    if num > 1:   
        for i in range(2,num):
            if (num % i) == 0:
                break
        else:
            return num
    else:
        print(num,"is not a prime number")
primeNumbers=[1]
for i in range(2,111000):
    if (isPrime(i)):
        primeNumbers.append(i)

print(primeNumbers[10001])

 


چالش ششم سایت projecteuler.net این هست:

حاصل جمع مربع های ده عدد طبیعی 385 است، مربع جمع ده عدد طبیعی 3025 است. اختلاف مربع جمع اعداد با جمع مربع اعداد 2640 است! اختلاف میان این دو مربع را برای 100 عدد طبیعی بدست آورید.

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

sumOfSquares = 0
squaresOfSum = 0

for i in range(1, 101):
    sumOfSquares += (i**2)
    squaresOfSum += i

difference = (squaresOfSum**2)-sumOfSquares
print(difference)

 


چالش پنجم سایت projecteuler.net این هست:

2520 کوچکترین عددی است که بدون به هر یک از اعداد از 1 به 10 قابل تقسیم است.

کوچکترین عددی که به همه اعداد از 1 تا 20 تقسیم شود چیست؟

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

myNumber = 20
myList = list(i for i in range(2, 21))
divided = list(1 for i in range(19))
zeroList = list(0 for i in range(19))
print(myList)
print(divided)
print(zeroList)
while myNumber < 999999999:
    for i in range(19):
        divided[i] = myNumber % myList[i]
    if divided == zeroList:
        print(myNumber)
        break
    else:
        myNumber += 20

 


چالش چهارم سایت projecteuler.net این هست:

یک عدد پالیندرومیک به هر دو صورت یکسان خوانده می شود. بزرگترین پالیندروم ساخته شده از حاصلضرب دو عدد 2 رقمی ، 91*99 برابر با 9009 است.

بزرگترین عدد پالیندرومیک ساخته شده از حاصلضرب دو عدد 3 رقمی را پیدا کنید.

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

for i in range(999,900,-1):
    for j in range(999,900,-1):
        x=str(i*j)
        y=x[::-1]
        if x == y:
            print(f"I= {i} and J= {j} and X= {x}" )

 


چالش سوم سایت projecteuler.net این هست:

فاکتورهای عدد اول برای 13195 اعداد 5، 7، 13 و 29 می باشند.

بزرگترین فاکتور عدد اول برای عدد 600851475143 را پیدا کنید.

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

نکته قابل توجه این است که فاکتور عدد اول با عدد اول متفاوت است!

 

def euler3(num):
     while num % 2 == 0:
         num = num // 2
     import math
     sq = int(math.sqrt(num)+1)
     ans = -1
     for i in range(3,sq,2):
         while num % i == 0:
             ans = max(ans,i)
             num = num // i
     ans = max(ans,num)
     return ans

print(euler3(600851475143 ))

 


سایت Project Euler با آدرس https://projecteuler.net منبعی از چالش ها و سوالات جالب برنامه نویسی است که اگر علاقمند به برنامه نویسی هستید توصیه میکنم این سوالات را جواب داده و در چالشها شرکت کنید تا بتوانید قدرت تحلیل و کدنویسی خودتان را بالا ببرید. من در این وبلاگ سعی میکنم چالشهای مختلف این سایت را چک کرده و اولین راه حلی که به ذهنم میرسد را به زبان پایتون برای آن پیاده سازی کنم. بدیهی است که هر سوال جوابهای مختلفی داشته و راه حل من بهترین راه حل نیست، و شما هم می توانید در بخش نظرات کدها و راه حلهای خود را با ما درمیان بگذارید.


چالش دوم سایت projecteuler.net این هست:

هر عدد جدید در سری فیبوناچی از جمع دو عدد قبل از خود به وجود می آید.با شروع از 1 و 2 ده عدد اول این سری عبارتند از:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, .

با درنظر گرفتن اعداد موجود در سری فیبوناچی به شرطی که از 4میلیون نکند، مجموع اعداد زوج موجود در این سری را پیدا کنید

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

fibonacciNumbers = [0, 1]
sumOfEvens = 0

for i in range(2, 70):
    fibonacciNumbers.append(fibonacciNumbers[i-1]+fibonacciNumbers[i-2])
    if fibonacciNumbers[i] < 4000000:
        if fibonacciNumbers[i] % 2 == 0:
            sumOfEvens = sumOfEvens + fibonacciNumbers[i]
    else:
        break

print(fibonacciNumbers)
print(sumOfEvens)

 


چالش اول سایت projecteuler.net این هست:

اگر تمام مضرب های 3 و 5 از اعداد صحیح زیر 10 را لیست کنیم به اعداد 3 و 5 و 6 و 9 خواهیم رسید. که مجموع اینها 23 می باشد.
مجموع تمام مضربهای 3 و 5 زیر 1000 را پیدا کنید.

 

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این وبلاگ اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

 

sumOf3, sumOf5 = 0, 0
for num in range(1000):
    if num % 3 == 0:
        sumOf3 += num
    elif num % 5 == 0:
        sumOf5 += num

print(f"sum3= {sumOf3} & sum5= {sumOf5}")
print(sumOf3+sumOf5)

 


تبلیغات

آخرین ارسال ها

آخرین جستجو ها

مقالات حقوقی عرضه نرم افزارهای اورجینال بزرگراه ثروت فروشگاه محصولات زناشویی مسترکاندوم وقتی که عشق سر قدم باشد جاذبه های گردشگری حفاظ ساز وبلاگ رسمی علی محسنی تکلّو عقاید یک فرد بیخیال معرفی بهترین ها