Skip to content

Instantly share code, notes, and snippets.

@pranithan-kang
pranithan-kang / deep_flatten.py
Last active March 7, 2024 03:05
deep flatten nested dict
def deep_flatten(data: dict, flatten_result: dict = {}, parent_key: str = ""):
for key, value in data.items():
target_key = f"{parent_key}.{key}" if parent_key else key
if isinstance(value, dict):
deep_flatten(value, flatten_result, target_key)
else:
flatten_result[target_key] = value
return flatten_result
assert deep_flatten(
@pranithan-kang
pranithan-kang / dataclass_experimental.py
Created March 29, 2024 07:29
dataclass experimental
from dataclasses import dataclass
@dataclass
class A:
id: int
def __eq__(self, other):
return self.id == other.id
@dataclass(eq=True)
@pranithan-kang
pranithan-kang / generic_type_experimental.py
Created March 29, 2024 07:31
generic type experimental
# "python.analysis.typeCheckingMode": "strict",
from typing import Generic, TypeVar
T = TypeVar('T')
class MyClass(Generic[T]):
def run(self, x: T) -> T:
return x
class ExtendedMyClass(MyClass[int]):

source

สรุปในมุม pseudo code เป็น JavaScript snippet

let condLength = 3;

let winningConditions = Array.from(
    Array(condLength).keys(), 
 (_, i) => i < condLength - 1 ? i + 1 : 0
drop function get_fee_master;
create or replace function get_fee_master (jsonrate jsonb)
returns table (fm_start_range decimal, fm_end_range decimal, fm_rate decimal, fm_acc_prev_fee decimal)
language plpgsql
as $$
begin
return query
with rate_master as (
select
coalesce(lag(amount) over (order by amount), 0) as start_range,

ทำไม $2^{136279841} - 1$ จึงเขียนเป็นเลขฐานสิบได้ 41024320 ตำแหน่ง

ต้นฉบับใน https://www.facebook.com/share/p/Q4d2xXo63Wuu1vMw/

จากที่ผู้เขียนเกิดความสงสัยว่า $2^{136279841} - 1$ ทำไมถึงเขียนเป็นเลขฐานสิบได้ 41024320 ตำแหน่ง ก็เลยไปนั่งคิดจนกระทั่งได้วิธีการมาดังนี้

ตีโจทย์

ขอลดรูปคำถาม* เป็น $2^P$ ทำไมถึงเขียนเป็นเลขฐานสิบได้ 41024320 ตำแหน่ง ก็ต้องตีโจทย์กันต่อว่าการนับตำแหน่งในเลขฐาน 10 มันคือการเขียนคำตอบให้อยู่ในรูป $10^n$ นั่นเอง