"فراموشی"
33 subscribers
18 photos
31 videos
6 files
20 links
اینجا هر چی که من بلدم از کامپیوتر رو می زارم که اگه یادم رفت دوباره نخواهم برم یاد بگیرم و با خوندن اون یادم بیاد

لینک حمایت :)‌
https://daramet.com/PouriaAalamifar
Download Telegram
"فراموشی"
چالش انجام دادن روزی یک سوال از سوال ها یه Euler با پایتون😁 @faramoshi_pc
روز بیست‌وچهارم، سؤال بیست‌وچهارم:

Lexicographic Permutations

A permutation is an ordered arrangement of objects. For example, 3124 is one possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically, we call it lexicographic order. The lexicographic permutations of 0, 1 and 2 are:

012 021 102 120 201 210

What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?

خب سؤال از ما می‌خواد جایگشتِ یک‌میلیونم ارقام ۰ تا ۹ رو وقتی همهٔ جایگشت‌ها به ترتیب لغت‌نامه‌ای مرتب شدن، پیدا کنیم.

مقدار نهایی هم میشه:4179871

جواب:

import math

digits = list(range(10))
n = 1_000_000 - 1
result = ""

for i in range(10, 0, -1):
fact = math.factorial(i - 1)
index = n // fact
result += str(digits[index])
digits.pop(index)
n %= fact

print(result)

@faramoshi_pc
1🔥1
«تنها شکست در سن ۲۰ تا ۳۰ سالگی شما «بی فعالیتی» است .جز این هر چه کنید آزمون و خطاست.»
_
به نظرم جمله خیلی قشنگیه پس هیچوقت دیر نیست.
5
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
پیرو این پست که گذاشتم، پست ها ونظرات زیادی در لینکدین دارم میبینم راجع به این مسئله اماچیزی که باید بپذیریم:
https://t.me/linuxtnt/4739

در حال حاضر یک تحول پارادایمی در حال وقوع هست:
🔹لینوکس شروع به استفاده از Rust کرده است.
https://t.me/linuxtnt/4668

🔹مایکروسافت در حال تغییر به سمت Rust است.
🔹برخی موتورهای بازی‌سازی مانند Unreal Engine و Unity هم در مسیر مشابه هستند — شاید نه بازنویسی کامل، اما افزودن کدهای Rust به کدبیس موجود.
🔹تیم اندروید در گوگل نیز در حال آزمایش Rust است.

این نشان‌دهنده یک گرایش گسترده به سمت Rust در صنعت نرم‌افزار است، به‌خصوص در پروژه‌های بزرگ و حیاتی.
👍2
"فراموشی"
چالش روزی یک قدم برای تبدیل شدن به یک Rustacean 🦀😍 روز اول درس اول: مقدمه ای از Rustacean و زبان Rust روز دوم درس دوم: نصب Rust در ویندوز و لینوکس روز سوم درس سوم: آشنایی با Cargo، ساخت و اجرای پروژه روز چهارم درس چهارم:…
روز نهم از چالش تبدیل شدن به یک Rustacean 🦀

خب ما در جلسه پیش با شرط ها(if و else ها) Boolean Logicها و let ifها آشنا شدیم، تو این جلسه قرار با حلقه ها در Rust و دستورات break و continue آشنا بشیم.

در Rust ما دو نوع حلقه داریم loop و while.


حلقه loop:

در حلقه loop ما می تونیم دستورات رو تا بینهایت اجرا کنیم، مثال:
fn main(){
loop {
println!("Hi");
}
}

حالا چه جوری می تونیم از loop بیایم بیرون🤔

با استفاده از کلمه کلیدی break، مثلا می خواهید حلقه 3 بار تکرار بشه:
fn main(){
let mut i = 1;
loop {
if i > 3 {
break;
}
println!("Hi👋");
i += 1;
}
}


حتی شما اگه از چند حلقه تو در تو استفاده می کنید و می خواهید با یک دستور از حلقه اول خارج شوید می توانید به حلقه ها اسم بدهید و از اون برای خارج شدن استفاده کنید، مثال:
fn main(){
let mut i = 1;
'loop_first: loop {
println!("first loop🥇");
loop {
println!("loop in loop ♾️");
i += 1;
if i > 3 {
break 'loop_first;
}
}
}
}


یا حتی برای loopتون می تونید داده برگردانید، مثال:
fn main(){
let mut i = 1;
let mut even = 0;
let result = loop {
if i > 3 {
break even;
}
even += 2;
i += 1;
};
println!("{}",result);
}


حلقه while
هم به همین صورت هست فقط درون خودش شرط داره دقیقا مثل بقیه زبان های برنامه نویسی، مثال:
fn main(){
let mut i = 1;
while i <= 3 {
println!("Hi😕");
i += 1;
}
}


کلمه کلیدی continue هم مثل break عمل می کند فقط فرقش این هست که کلا از حلقه بیرون نمیاد بلکه بقیه حلقه رو ول می کنه و از اول حلقه شروع میکنه، مثال:
fn main(){
let mut i = 0;
loop {
i += 1;
if i % 2 == 0 {
continue;
}
println!("{i}");
}
}

الان کد بالا تمام اعداد فرد رو تا بینهایت چاپ می کنه.

خب درس امروز هم همینجا تموم شد اگه دوست داشتید ریکشن بزارید اگه هم نقدی یا مشکلی در اون بود میتونید بهم پیام بدید😉


@faramoshi_pc
🔥1
"فراموشی"
چالش انجام دادن روزی یک سوال از سوال ها یه Euler با پایتون😁 @faramoshi_pc
روز بیست‌وپنجم، سؤال بیست‌وپنجم:

1000-digit Fibonacci Number

The Fibonacci sequence is defined by the recurrence relation:

F ⁿ = F ⁿ ‐ ¹ + F ⁿ ‐ ², where F¹ = 1 and F² = 1.

Hence the first 12 terms will be:

F¹ = 1
F² = 1
F³ = 2
F⁴ = 3
F⁵ = 5
F⁶ = 8
F⁷ = 13
F⁸ = 21
F⁹ = 34
F¹⁰ = 55
F¹¹ = 89
F¹² = 144

The 12th term, F¹², is the first term to contain three digits.

What is the index of the first term in the Fibonacci sequence to contain 1000 digits?

سؤال از ما می‌خواد اندیس اولین جمله‌ای از دنبالهٔ فیبوناچی رو پیدا کنیم که دقیقاً ۱۰۰۰ رقم داشته باشه.

مقدار نهایی هم میشه: 4782

a = 1
b = 1
index = 2

while len(str(b)) < 1000:
a, b = b, a + b
index += 1

print(index)


@faramoshi_pc
🔥3
اینا آدمن فقط خودشونو زدن به گربه بودن مالیات ندن
@faramoshi_pc
😁3
Forwarded from sohrab::stdout (Sohrab)
خب امروز انگار تولد لینوس بندیکت تروالدز هستش :)


تولدش رو به دوست‌داران هستهٔ لینوکس ،گیت و کسایی که با سی پلاس پلاس مشکل دارن تبریک عرض می‌کنم.


@SohrabContents
🥰2🎉1
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰به مناسبت روز پدر و این روز فرخنده

🔹تصمیم دارم کتاب11 ام-راهنمای جامع linux Essentials را در روز پدر رایگان قرار بدهم و همچنین بخاطر شرایط کنونی هم یک تخفیف روی محصولات lpic قرار دادم.


🔻کتاب 11 - inux Essentials
🔻کتاب10-راهنمای جامع LPIC1 با 20 % تخفیف
🔻کتاب14- LPIC2 201,202 با 25 % تخفیف
🔻کتاب13- LPIC3 303 Security با 25 % تخفیف

⭐️این تخفیف فقط 24 ساعت است برای روز شنبه
پس شنبه رو از دست ندید.


📌دریافت کتاب ها از آکادمی کندوی دانش

https://learninghive.ir/linux-books/
🔥2
خب متاسفانه از صبح دی‌ان‌اس ها به مشکل خوردن و اختلال بی سابقه در اینترنت رو شاهد هستیم و احتمال این بالاست که اینترنت یا قطع بشه یا پر از اختلال باشه.

درحال نوشتن یه مقاله درباره اینترنت ایران و اینترنت ملی (NIN) و راهکار های دور زدن اون هستم اگه درآینده هنوز امکان آنلاین شدن باشه🤗

#موقت
💔3
برداشتی که خیلی‌هامون از وضعیت فعلی #اینترنت داریم؛
نفس‌های آخرشه.

برداشتی که خیلی‌هامون از حال و وضعیت فعلی ظالم داریم، بازم همینه.
نفس‌های آخرشه .
🔥2
"فراموشی"
سرود – به لاله در خون خفته
هم شهدا ۸ سال دفاع مقدس و هم شهدا راه آزادی در دل ما جا دارند و آنهارا فراموش نمی کنیم

#جاویدان_ایرانه_عزیز_ما
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
و این بود داستان پایان یک پسر💔😭
💔4
داشتم جنایات و مکافات می‌خوندم، این جمله از داستایفسکی دقیقا همون حسی رو میگه که این روزا دارم:)

"هر وقت سعی میکنم لبخند بزنم،
احساس میکنم به آنچه رخ داده است، خیانت میکنم."
💔3
"فراموشی"
چالش انجام دادن روزی یک سوال از سوال ها یه Euler با پایتون😁 @faramoshi_pc
روز بیست‌وششم، سؤال بیست‌وششم:

Reciprocal cycles

A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given:

1/2 = 0.5
1/3 = 0.(3)
1/4 = 0.25
1/5 = 0.2
1/6 = 0.1(6)
1/7 = 0.(142857)
1/8 = 0.125
1/9 = 0.(1)
1/10 = 0.1

Where 0.1(6) means 0.166666..., and the 1-digit recurring cycle is '6'.
It can be seen that 1/7 has a 6-digit recurring cycle.

Find the value of d < 1000 for which 1/d contains the longest recurring cycle in its decimal part.

سؤال از ما می‌خواد:
بین همه اعداد d کوچکتر از ۱۰۰۰، اون d رو پیدا کنیم که وقتی ۱ رو بر d تقسیم می‌کنیم، بخش اعشاریش طولانی‌ترین دوره تکراری (recurring cycle) رو داشته باشه.
یعنی طولانی‌ترین دنباله‌ای که تو اعشار تکرار می‌شه.

مقدار نهایی: ۹۸۳
(یعنی ۱/۹۸۳ طولانی‌ترین چرخه رو داره که ۹۸۲ رقم طولشه)

def cycle_length(d):
if d % 2 == 0 or d % 5 == 0:
return 0
seen = {}
rem = 1
pos = 0
while rem not in seen:
seen[rem] = pos
rem = (rem * 10) % d
pos += 1
return pos - seen[rem]

max_len = 0
best_d = 0
for d in range(1, 1000):
length = cycle_length(d)
if length > max_len:
max_len = length
best_d = d

print(best_d, max_len) # 983 982


نکته: اگر d بر ۲ یا ۵ بخش‌پذیر باشه، اعشارش زود تموم می‌شه (مثل ۰.۵ یا ۰.۲۵) و چرخه تکراری نداره. برای همین طول چرخه‌ش رو ۰ گذاشتیم.

@faramoshi_pc
❤‍🔥1