24h購物| | PChome| 登入
2009-04-23 20:13:39| 人氣589| 回應0 | 上一篇 | 下一篇

ACM 11526 11526 - H(n)

推薦 0 收藏 0 轉貼0 訂閱站台

數學題

首先先算出N/1~N/2的個數*1 N/2~N/3的個數*2....一直砍到N/M~N/(M+1) 就可以直接除了

/*************************************************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
 int n,m;
 int a,b,c;
 while(scanf("%d",&n)==1)
  {
   while(n--)
    {
     scanf("%d",&m);
     long long int ans=0;
     int top=0;
      for(a=2;;a++)
        {
         int temp=m/(a-1)-m/a;
         if(temp==1) {
                      for(b=1;b<=m-top;b++)
                       ans+=m/b;
                      break;
                     }
         else ans+=temp*(a-1);
         top+=temp;
        }
      printf("%lld\n",ans); 
    }
  }
 return 0;
}

台長: 來源不明
人氣(589) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 11461 11461 - Square Numbers
此分類上一篇:ACM 11530 11530 - SMS Typing

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文