解題思路:
尤拉函式應用,但是這個題和上個不一樣,不能打表算,因為n的範圍為整形,陣列無法存下,所以只能用最原始的素分解來寫。。。
**如下:
#include#include#include#includeusing namespace std;
const int n = 65540;
int prim[n];
void fast_prim() //素數打表
int prim_induce(int n) //素分解
} if(n != 1)
sum = sum / n * (n - 1);
return sum;
}int main()
優化做法:
不需要素分解,在找素數的過程就計算尤拉函式的值。
**如下:
#include#include#include#includeusing namespace std;
int euler(int n)
} if(n != 1)
res = res / n * (n - 1);
return res;
}int main()
南陽OJ 333 mdd的煩惱 尤拉函式
mdd的煩惱 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 今天mdd看到這麼一段話 在數論,對正整數n,尤拉函式是少於或等於n的數中與n互質的數的數目。此函式以其首名研究者尤拉命名,它又稱為euler s totient function 函式 尤拉商數等。例如 8 4,...
國王的煩惱 nyoj
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 c國由n個小島組成,為了方便小島之間聯絡,c國在小島間建立了m座大橋,每座大橋連線兩座小島。兩個小島間可能存在多座橋連線。然而,由於海水沖刷,有一些大橋面臨著不能使用的危險。如果兩個小島間的所有大橋都不能使用,則這兩座小島就不能...
兔子的煩惱 一) NYOJ
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 在一座山上有n個山洞 每個洞從0 n 1分別編號 這山上有乙隻兔子躲在山洞裡,有乙隻狼,從編號為0的山洞開始入洞,每隔m 1個洞,再次入洞抓兔子,現在問,兔子能否避免這場災難?例如 m 2 and n 6,狼將要進入的山洞號為 ...