十二宫之巨蟹宫

[原贴: http://acm.tongji.edu.cn/people/ps/showproblem.php?problem_id=1003&contest_id=6]

Problem

话说星矢、紫龙、冰河、阿瞬为了救活雅典娜,必须勇闯黄金十二宫。

第四个他们来到巨蟹宫,身为巨蟹座黄金圣斗士的迪马斯是个杀人狂,在巨蟹宫有很多尸体。都是他杀死的人。现在紫龙为了让星矢先走,于是一个人留下来和迪马斯单挑。(冰河和阿瞬还在双子宫……)不过他想知道迪马斯一生中杀了多少人。

已知迪马斯杀了n个人,1<=n<=k<=2*109,n这个数字很特别,是在不大于k的数字中约数最多但值最小的数字。比如k=10,约数最多的有6,8,10。都有4个约数,不过n取最小的6。紫龙为了给那些无辜死去的人报仇,决定痛打迪马斯n拳。

最终,紫龙使出绝招庐山升龙霸,干掉了迪马斯。他的眼睛也在冥界入口,被雅典娜治好。

Input

本题包含多组数据.

第1行,为k(1<=k<=2*109)

Output

对于每组数据输出一行,

为整数n,表示迪马斯一生中杀了多少人。

Sample Input

10

Sample Output

6


------------------------------------
long int Num,i=0,j,cout,cout1,Min;
 std::cin>>Num;
 cout=cout1=0;//约数个数
 Min=Num;//符号条件的最小的那个数
 for(i=Num;i>0;i--)
 {
  cout1=0;
  for(j=1;j<=i;j++)//统计i的约数个数
  {
  if(i%j==0)
   cout1++;
  }
  if(cout1>=cout)
  {
  cout=cout1;
  Min=i;
  }
 }

你可能感兴趣的:(C++习题)