HICTE Blog – Telegram
HICTE Blog
1.18K subscribers
382 photos
126 videos
8 files
616 links
گروهمون: @HicteGroup

دسته بندی پست‌ها: t.me/HicteBlog/743
Download Telegram
#نکته_لینوکس

بعضی از اپلیکیشن‌هایی که تو منوی application luncher سیستم نشون داده میشه رو معمولا پیش نمیاد که هیچ وقت از خود application luncher اجراشون کنیم.

مثلا کسی معمولا نمیاد vim رو از این طریق اجرا کنه.

برای اینکه اینها دیگه توی منو نشون داده نشن و بیخودی منو شلوغ نشه باید
NoDisplay=true
رو به فایل .desktop اپلیکیشن مربوطه اضافه کنیم.

فایل های .desktop یا همون desktop entry ها بصورت استاندار توی این سه دایرکتوری وجود دارن:
/usr/share/applications/
/usr/local/share/applications/
~/.local/share/applications/

🚁 Hicte Blog
👍8
#کد_بزنیم

اگه ما تمام اعداد طبیعی کمتر از 10 که مضرب 3 یا 5 هستن رو در نظر بگیریم:
[3, 5, 6, 9]
مجموعشون 23 میشه.

حالا اگه بخوایم کدی بنویسیم که مجموع مضرب های m یا n که کمتر از t هستن رو پیدا کنه؛ با این شرایط که کد ما

الف: حداکثر برای t برابر با عدد بزرگ 10 به توان 1 میلیون

ب: حداکثر برای t برابر با عدد 1 میلیارد

هم بخوبی کار کنه؛ چطور مینویسیمش؟ :)))

از هر زبان برنامه‌نویسی‌ای میتونید استفاده کنید. 👨‍💻

کدهاتون رو توی کامنت بفرستید.👇

[اگه نتونستید حالت الف که سخت تره رو بنویسید برای حالت ب تلاش کنید.]

خب دیگه... بسم الله

🚁 Hicte Blog
👍7🤯1
HICTE Blog
#کد_بزنیم اگه ما تمام اعداد طبیعی کمتر از 10 که مضرب 3 یا 5 هستن رو در نظر بگیریم: [3, 5, 6, 9] مجموعشون 23 میشه. حالا اگه بخوایم کدی بنویسیم که مجموع مضرب های m یا n که کمتر از t هستن رو پیدا کنه؛ با این شرایط که کد ما الف: حداکثر برای t برابر با عدد بزرگ…
این کدی هست که برای حالت ب نوشتم:

# Refrence to arithmetic progression:
# https://en.wikipedia.org/wiki/Arithmetic_progression


def APSum(first, number, difference):
last = first + (number - 1) * difference
return number * (first + last) // 2


def NMultipliers(bound, x):
return bound // x if bound % x else bound // x - 1


m = 3
n = 5
t = 1000_000_000
result = (
APSum(m, NMultipliers(t, m), m)
+ APSum(n, NMultipliers(t, n), n)
- APSum(m * n, NMultipliers(t, m * n), m * n)
)

print(result)


🚁 Hicte Blog
👌2👍1🔥1
HICTE Blog
#کد_بزنیم اگه ما تمام اعداد طبیعی کمتر از 10 که مضرب 3 یا 5 هستن رو در نظر بگیریم: [3, 5, 6, 9] مجموعشون 23 میشه. حالا اگه بخوایم کدی بنویسیم که مجموع مضرب های m یا n که کمتر از t هستن رو پیدا کنه؛ با این شرایط که کد ما الف: حداکثر برای t برابر با عدد بزرگ…
#پایتون

برای اعداد بزرگتر مثل حالت الف هم تو پایتون میتونین محدودیت integer string conversion length رو بردارین. ولی خب منطقا باید الگوریتم بهینه‌ای داشته باشین تا رسیدن به جواب خیلی طول نکشه.

import sys

# https://docs.python.org/3/library/stdtypes.html#integer-string-conversion-length-limitation
sys.set_int_max_str_digits(0)


# Refrence to arithmetic progression:
# https://en.wikipedia.org/wiki/Arithmetic_progressiony
def APSum(first, number, difference):
    last = first + (number - 1) * difference
    return number * (first + last) // 2


def NMultipliers(bound, x):
    return bound // x if bound % x else bound // x - 1


m = 3
n = 5
t = 10**1000_000
result = (
    APSum(m, NMultipliers(t, m), m)
    + APSum(n, NMultipliers(t, n), n)
    - APSum(m * n, NMultipliers(t, m * n), m * n)
)

print(result)
جواب برای m برابر 3 و n برابر 5 و t برابر با 10 به توان 1 میلیون میشه:
t.me/HicteBlog/752
که یه عدد 2 میلیون رقمی هست و کد بالا حدودا یک دقیقه و بیست ثانیه رو سیستم من طول کشید تا به جواب برسه.

🚁 Hicte Blog
👍2🔥21
answer.txt
1.9 MB
🤯3🆒1
#ابزار_لینوکس

اگه میخواین تعداد کلمات/خطوط/کاراکتر‌های یه فایل متنی رو بشمارین یا تعداد بایت‌های یه فایل رو [مثلا برای فهمیدن حجمش] میتونین از 🚾 استفاده کنین.

مثلا تو پست قبلی برای فهمیدن تعداد ارقام عدد خروجی کدم از همین ابزار استفاده کردم:
python b.py | wc -m
خروجی‌ای که کدم پرینت میکنه رو pipe کردم و به عنوان ورودی به wc دادم و آپشن -m هم مشخص میکنه فقط تعداد کاراکترها رو برامون بشماره.
[دقت کنین توی شمارش کاراکترها، کاراکتر new line رو هم حساب میکنه.]

چندتا از آپشن‌های مهم:
bytes: -c
chars: -m
lines: -l
words: -w


این ابزار جزو GNU Core Utilities هست.
اطلاعات بیشتر ۱
اطلاعات بیشتر ۲

🚁 Hicte Blog
👍9
😁11👍1🔥1
#نکته_لینوکس

شاید مثل من بخواین sudo بجای پسورد user شما از پسورد root استفاده کنه.

برای اینکار کافیه فایل sudoers رو ادیت کنیم. پس:
# EDITOR=vim visudo
و بعد
Defaults rootpw
رو بهش اضافه میکنیم.

منطقا باید برای root هم پسوردی متفاوت از user خودمون تعیین کنیم دیگه. پس با su سوئیچ میکنیم به یوزر root و با passwd پسورد root رو چیز دیگه‌ای میذاریم:
$ su
# passwd
[حواستون باشه یادتون نره پسورد رو چی میذارین.]

حالا اگه لپتاپتون رو دادین دست رفیقتون و پسورد user خودتون رو هم برا لاگین شدن بهش دادین دیگه نمیتونه
$ sudo rm -rf /*
بزنه. 😂

🚁 Hicte Blog
👍4😁1👌1👨‍💻1
#خبر

تولد عید linus مبارک
[با صدای کلاه قرمزی]

🚁 Hicte Blog
🎉9🫡21🏆1
#خبر

بقول سینا:
کد ملی هامون رو بیو بنویسیم اینطوری سنگین تره!

https://news.1rj.ru/str/irleaks/20

🚁 Hicte Blog
👍9
HICTE Blog
#خبر بقول سینا: کد ملی هامون رو بیو بنویسیم اینطوری سنگین تره! https://news.1rj.ru/str/irleaks/20 🚁 Hicte Blog
میخوام یه ریپو تو گیتهاب بزنم.
تمام اطلاعات شخصی خودم رو تحت لایسنس MIT بنویسم توش. 🗿
👍14🔥2
🫡7👍3😁1🤯1