蓝桥杯 第六届C/C++ 大学B组省赛真题 加法变乘法

题目内容:
我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015

比如: 1+2+3+…+10 x 11+12+…+27 x 28+29+…+49 = 2015 就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。

思路
用双重循环将所有乘号的可能组合方式一一验证即可,代码如下:(C语言)

#include<stdio.h>
int main()
{
	int m,n;
	for(m = 1;m < 47;m++)
	{
		for(n = m + 2;n < 49;n++)
		{
			if( m*(m+1) + n*(n+1) + 1225 - m - m -1 - n - n -1 == 2015)
			//这里检验方法就是将两组乘数和剩下所有数加起来,剩下所有数的表示
			//方法就是总和1225减去m、m+1、n、n+1即可
			printf("%d * %d, %d * %d\n",m,m+1,n,n+1);	
		}
	}
} 
/* 结果是: 
10 * 11, 27 * 28
16 * 17, 24 * 25
*/ 

由此可知答案是16

总共也就10行左右代码,肥肠的easy~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨风默语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值