void test_threads() { { std::cout << "non-async" << std::endl; std::vector<double> f1(fib(50)); std::vector<double> f2(fib(50)); std::vector<double> f3(fib(50)); std::vector<double> f4(fib(50)); std::vector<double> f_sum(f1 + f2 + f3 + f4); std::sort(f_sum.begin(), f_sum.end()); print_fib(f_sum); } { std::cout << "async" << std::endl; std::future<std::vector<double> > f1(std::async(std::launch::async, []() { return fib(50); })); std::future<std::vector<double> > f2(std::async(std::launch::async, []() { return fib(50); })); std::future<std::vector<double> > f3(std::async(std::launch::async, []() { return fib(50); })); std::future<std::vector<double> > f4(std::async(std::launch::async, []() { return fib(50); })); std::vector<double> f_sum(f1.get() + f2.get() + f3.get() + f4.get()); std::sort(f_sum.begin(), f_sum.end()); print_fib(f_sum); } }
int main(){ int i,j,k,l,test,t=1; //freopen("in.txt","r",stdin); scanf("%d",&test); while(test--){ scanf("%lld",&n); double nd=n,sqd; sqd=sqrt(nd); int sq=sqd; ii ans=0,prev=n,now,v,v1; for(i=2;i<=sq;i++){ now=n/i; ans+=((now-1)*i); v=f_sum(now+1,prev); ans+=(v*(i-2)); prev=now; } if(prev>sq){ now=n/i; v=f_sum(now+1,prev); //ans+=((now-1)*i); ans+=(v*(i-2)); } printf("Case %d: %lld\n",t++,ans); } return 0; }