int fun(int k)
{
int sum = 0, i = 0;
for (; k >= 0; k--)
{
if (i == 10)
break;
if (k % 13==0 || k % 17==0)
{
sum += k;
i++;
}
}
return sum;
}
int fun(int k)
{
int sum = 0;
int count = 0;
int i;
for (i = k; i > 0; i--)
{
if (i % 13 == 0 || i % 17 == 0)
{
sum += i;
count++;
}
if (count == 10)
break;
}
return sum;
}
马上代码
int func(int k)
{
int nSum = 0;
int cnt = 0;
while (cnt<10)
{
int n = k % 13;
int m = k % 17;
if (n == 0 || m == 0) // 也可以直接把k%13和k%17作为条件
{
nSum += k;
cnt++;
}
k--;
}
return nSum;
}
思路就是,要计算k以内最大的10个,因此要从k开始往下递减去找,这样就是从最大的开始,然后找到10个就可以i