D - 24 Game

923 ワード

24時のゲームはみんなよく知っているはずです.加減乗除四則演算により4つの数で24を得る.アップグレード版のゲームを考えてみましょう.1...nというnの数を与え、加算、減算、乗算の3つの演算で24を得ることができます.Input正の整数n,n<=10000000
Outputに解がある場合、最初の行は「YES」、次のn-1行を出力し、各行は「a op b=c」のような動作を出力する.詳細はサンプルを参照してください.解がなければ「NO」を出力します注意:あなたの中間結果の絶対値は10^18を超えてはいけません
Sample Input 8
Sample Output YES 8 * 7 = 56 6 * 5 = 30 3 - 4 = -1 1 - 2 = -1 30 - -1 = 31 56 - 31 = 25 25 + -1 = 24
この問題は国語版なので,題意はもう余計なことは言わない.注意すべき点は、1.1-nの数字を2に使うことです.出力する各文字の間にスペースがあります
この問題は実は法則的な問題で、この問題を見たとき、通常の考えでは答えを見つけるのは難しい.1-3/4-5の結果は特殊で、自分で探す必要があります.5より大きい数字nは法則を見つけることができる.
コードは次のとおりです.
#include"stdio.h"
#include"iostream"
#include"string.h"
#include"algorithm"
using namespace std;
int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		if(n<=3)
		{
			printf("NO
"); continue; } if(n==4) { printf("YES
"); cout<