I don't know how to write: such a large amount of data cannot be linearly written.
This is my reference link: http://hi.baidu.com/auhsr2346/blog/item/e35b5c8cdff76e1ab31bba86.html
This question is interesting. Mark it.
This question is actually how much N (1 + 1/2 + 1/3 +... + 1/n)-N is equal. The difference here is that n/2 is equal to the integer part of the result (for example, 5/2 = 2, not 2.5 ).
Interestingly
Euler got a formula in 1734: 1 + 1/2 + 1/3 +... + 1/N = ln (n + 1) + R (Euler's constant r = 0.577218) is a continuous value.
# Include <stdio. h> <br/> # include <math. h> <br/> int main (INT argc, char * argv []) <br/>{< br/> int t, t, n, I; <br/> long ans; <br/> scanf ("% d", & T); <br/> while (t --) {<br/> ans = 0; <br/> scanf ("% d", & N); <br/> T = (INT) SQRT (N ); <br/> for (I = 1; I <= T; I ++) {<br/> ans + = N/I; <br/>}< br/> ans = 2 * ANS-T * t-N; <br/> printf ("% LLD/N", ANS ); <br/>}< br/> return 0; <br/>}