pku2668.cpp
来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 41 行
CPP
41 行
#include "stdio.h"
#include "math.h"
__int64 get(__int64 a,__int64 b)
{
if(a%b==0) return a/b;
else return a/b+1;
}
__int64 min(__int64 a, __int64 b)
{
return (a<b)?a:b;
}
int main()
{
__int64 D,N,all,t,i;
while(scanf("%I64d%I64d",&D,&N)!=-1)
{
if(D==0&&N==0) break;
all=0;
t=(int)(sqrt(D)+0.5);
t=get(D,t);
for(i=1;i<t && i<=N;i++)
{
all+=get(D,i);
}
if (N>=t)
{
all+=(N-t+1);
for(i=1;i<t;i++)
{
all += min(get(D,i),N+1)-t;
}
}
printf("%I64d\n",all);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?