顾扶北
2021-06-22 11:01
采纳率: 40%
浏览 24

求解,这个C语言怎么写

 

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 登楼流樱 2021-06-22 11:07
    已采纳
    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;
    }
    已采纳该答案
    打赏 评论
  • shn_baby 2021-06-22 11:03
    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;
    }

    马上代码

    打赏 评论
  • robot8me 2021-06-22 11:06
    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

    打赏 评论

相关推荐 更多相似问题