#include<iostream>using namespace std;int main() {	/*1-----49*/	//a a+1 b>=a+2 b+1	for (int i = 1; i < 47; i++)//------47	{				for (int j = i + 2; j < 49; j++)//第二個乘號		{			int sum = 1225;//1-49的和為1225			sum = sum - i - (i + 1) - j - (j + 1);			sum = sum + i*(i + 1) + j*(j + 1);			if (sum == 2015)				cout << i << endl;		}		}	return 0;}這是第三次思考該題我得出的結(jié)果,并能解決,之前幾次我總是想將數(shù)和符號分別存放在數(shù)組里,并將其按照一定的順序排列然后在計算,那樣處理會出現(xiàn)兩個問題,一個是我們需要每次執(zhí)行時對符號進行優(yōu)先級判斷,那么我們還得將較高的優(yōu)先級的數(shù)字提出來進行計算,這樣工作量很大,無法快速解決現(xiàn)在的方法較為簡單,可執(zhí)行能力強,我們試著從反方向考慮即先計算在對乘號處理,由于乘號只有兩個便于處理,嵌套for循環(huán)對兩個不同的情況分別計算,由于乘號只是對連續(xù)的兩個運算數(shù)所以假設(shè)第一個乘號的數(shù)為i,則i+1;第二個為j則j+1。首先我們直接輸入1-49的累加求和,然后剪掉i i+1 j j+1,然后加上i*(i+1)  j*(j+1)   并且j>=i+2&&j<=48  i>=1&&i<=46這樣思考簡單處理簡單運行簡單
新聞熱點
疑難解答