求解,这个C语言怎么写

 

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