zoukankan      html  css  js  c++  java
  • 加法变乘法|2015年蓝桥杯B组题解析第六题-fishers

    加法变乘法

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

    比如:
    1+2+3+...+1011+12+...+2728+29+...+49 = 2015
    就是符合要求的答案。

    请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。

    注意:需要你提交的是一个整数,不要填写任何多余的内容。

    答案:16

    思路:暴力法,两层循环枚举两个乘号可能在的位置,具体请看代码中的注释

    #include<iostream>
    using namespace std;
    
    int cal(int i,int j){
    	int ans = 0;
    	for(int x=1;x<=50;x++){
    		if(x==i || x==j || x==i+1 || x==j+1){
    			continue;
    		}
    		ans+=x;
    	}
    }
    
    int main(){
    	int sum = 0;
    	//枚举两个乘号所在的位置,1~49 
    	for(int i=1;i<=49;i++){
    		for(int j=1;j<=49;j++){
    			sum = 1225; //如果都是加号,那么总和就是1225 
    			//排除第一个乘号和第二个乘号位置相同的情况 
    			if(i==j){
    				continue;
    			}
    			
    			//减去原来用加号相连的4个数 
    			sum -= i;
    			sum -=(i+1);
    			sum-=j;
    			sum-=(j+1);
    			sum += ((i+1)*i + (j+1)*j); //加上新的乘数 
    			if(sum==2015){
    				cout<<i<<" "<<j<<" "<<endl; 
    			}
    		}
    	}
    	
    	return 0;
    }
    
  • 相关阅读:
    SQL所有者更改问题
    人生路上对我影响最大的三位老师
    自我介绍
    Ural_1146. Maximum Sum (DP)
    Ural_1654. Cipher Message(栈)
    Ural_1333. Genie Bomber 2
    POJ_2112 Optimal Milking(网络流)
    Ural_1031.Railway Ticket (DP)
    Ural_1030. Titanic
    Ural_1207. Median on the Plane(计算几何)
  • 原文地址:https://www.cnblogs.com/fisherss/p/10300220.html
Copyright © 2011-2022 走看看