euler函數


看了老半天,調試了幾遍還是沒理解代碼啥意思,咋寫出來的,看來時間是最好的解決辦法,等我過幾天再推推,先記住這十三行代碼



int euler(int n)
{
    int ret=n,i;
    for (i=2;i*i<=n;i++) 
		if (n%i==0)
        { 
			ret=ret-ret/i;
            while (n%i==0)
                n/=i; 
		}
        if (n>1)   	ret=ret-ret/n;
        return ret;
}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章