#include<iostream>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)==1&&n)
{
int sum2=0,sum3=0;
for(int i=2;i<=n;i++)
{
int t=i;
if(t%2==0)
{
while(t%2==0)
{
sum2++;
t/=2;
}
}
if(t%3==0)
{
while(t%3==0)
{
sum3++;
t/=3;
}
}
}
int num=0;
while(1)
{
if(sum2<2) break;
if(sum3<1) break;
sum2-=2;
sum3--;
num++;
}
printf("%d/n",num);
}
return 0;
}
本文介绍了一个使用C++编写的程序,该程序能够读取整数输入,并计算这些整数中能被2和3整除的最大子集数量。通过对每个数进行分解,程序跟踪每个数可以被2和3整除的次数,并根据这些信息计算最大子集的数量。

被折叠的 条评论
为什么被折叠?



