【答案】
void countValue()
{
int i=100,j; /*定义变量分别存储SIX(i)和NINE(j)*/
j=3*i/2; /*计算满足条件的数*/
for(i=100;i<=999&&j<=9999;i++)
/*当i为三位数,并且j没有增加到5位数时,循环继续*/
if(3*i%2==0 && j>=1000 && j<=9999) /*如果满足条件SIX+SIX+SIX=NINE+NINE*/
{ /*即一个3位数乘3再除以2余数为0,且所得的数为4位数*/
cnt++; /*统计满足条件的数的个数*/
sum+=i+j; /*求满足此条件的所有SIX与NINE的和*/
}
}
【解析】根据题意,要求的是满足3位数乘以3等于4位数乘以2的数的个数。我们可以使用循环结构对所有的3位数进行判断,若某个3位数乘以3整除2所得的数是4位整数,则这个3位数是满足条件的数。当判断的数不再是3位数或者进行处理后所得的数小于9999,则退出循环。在循环内部用计数器统计满足条件的数的个数及它们的和值。