a
    ƽea	                     @   s   d dl mZ d dlmZ eedddZeee dddZeeeeef  dd	d
ZeedddZdd Z	dd Z
eeee	edd dd Zeee dddZdd Zd ZedD ]Zeeg d7 Zqeed  dS )    )Iterator)random)nreturnc                 C   s<   | dk rt dd}td| D ]}| | dkr||7 }q|S )Nr   zn not in NN   )
ValueErrorrange)r   Zsum_proper_divisors	candidate r
   6   /home/ewen/rocketbook/info/récursivité/td_lauront.pyldp   s    
r   )Kr   c                 c   s*   t d| d D ]}t||kr|V  qd S Nr   r   r   )r   r	   r
   r
   r   parfaits   s    r   c                 c   sJ   t d| d D ]6}t d|D ]&}t|t|h||hkr||fV  qqd S r   r   )r   pqr
   r
   r   amicaux   s    r   )kr   c                 C   s*   d}| d dkr"| d } |d7 }qd| S )Nr      r   r
   )r   Zpowerr
   r
   r   m!   s
    
r   c                 C   s   d| t |   d S )Nr   r   )r   r   r
   r
   r   <lambda>)       r   c                 C   s0   | dv rdS | d dkr$t | d S | d d S )N>   r   r   r   r   r   )c_2r   r
   r
   r   r   ,   s
    r   r      c                 C   s"  g }| }|dkr(| |d  |d }qtdtt|  |d dkrV|d q>tdtt|  d}|| dkrd||< |d7 }qpd||< tdtt|  | d |d dkr|d qtdtt|  d}tdt|D ]}|d| ||  7 }qtd|  |S )Nr   r   zbinary 	z
nozeroes 	r   zadd 1 	zdec )appendprintlistreversedpopr   len)r   Zbase_2_nZcurrentZswitched_idxresultZ	two_powerr
   r
   r   c_37   s0    


r#   c                 C   s   dd t | D S )Nc                 S   s   g | ]}t t d k qS )g      ?)intr   ).0_r
   r
   r   
<listcomp>]   r   ztirer.<locals>.<listcomp>)r   r   r
   r
   r   tirer\   s    r(   c                 C   sJ   t d}tt|D ]0}|||t|   | kr|t|  d   S qdS )N  r   r   )r(   r   r!   )seqZpoolstartr
   r
   r   Ta   s    r,   r)   )r   r   r   r   N)typingr   r   r$   r   r   tupler   r   Zc_1r   r   r   mapr   r#   r(   r,   Zapparitions_sumr&   r
   r
   r
   r   <module>   s   

%
