10820 Send a Table(欧拉函数)(二)

2014-11-24 01:38:38 · 作者: · 浏览: 10
i = 2; i <= m && i <= num; i ++) { if (num % i == 0) { ans = (ans - ans / i); while (num % i == 0) { num /= i; } } } if (num != 1) { ans = (ans - ans / num); } return ans; } int main() { for (i = 2; i <= 50001; i ++) { sum[i] = save(i); } while (~scanf("%d", &n) && n) { out = 1; for (i = 2; i <= n; i ++) { out += sum[i] * 2; } printf("%d\n", out); } return 0; }