ZOJ - 3175

来源:互联网 发布:ubuntu cmd命令窗口 编辑:程序博客网 时间:2024/06/07 11:26

ZOJ - 3175 

Number of Containers
Time Limit: 2MS Memory Limit: 32768KB 64bit IO Format: %lld & %llu

Status

Description

For two integers m and kk is said to be a container of m if k is divisible by m. Given 2 positive integers n and m (m < n), the function f(nm) is defined to be the number of containers of m which are also no greater than n. For example, f(5, 1)=4, f(8, 2)=3, f(7, 3)=1, f(5, 4)=0...

Let us define another function F(n) by the following equation: 


Now given a positive integer n, you are supposed to calculate the value of F( n).

Input

There are multiple test cases. The first line of input contains an integer T(T<=200) indicating the number of test cases. Then T test cases follow.

Each test case contains a positive integer n (0 < n <= 2000000000) in a single line.

Output

For each test case, output the result F(n) in a single line.

Sample Input

214

Sample Output

04


#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <algorithm>#include <math.h>using namespace std; int main() {     int t;     scanf("%d",&t);     int n;     while(t--)     {         long long sum=0;         scanf("%d",&n);        int  t=(int)sqrt((double)n);         for(int i=1;i<=t;i++)             sum+=(n/i);         sum*=2;         sum=sum-t*t-n;         printf("%lld\n",sum);     }     return 0; }


1 0