题意:
用1到n算24点。
易证1~3无解。
易证当n有解时n + 2有解。*((n + 2) - (n + 1))即可。
然后手动构造一下4和5即可。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <cstdio> 2 3 int main() { 4 int n; 5 scanf("%d", &n); 6 if(n <= 3) { 7 printf("NO"); 8 return 0; 9 } 10 printf("YES "); 11 if(n & 1) { 12 printf("4 * 5 = 20 "); 13 printf("2 + 3 = 5 "); 14 printf("5 - 1 = 4 "); 15 printf("20 + 4 = 24 "); 16 for(int i = 6; i < n; i += 2) { 17 printf("%d - %d = 1 ", i + 1, i); 18 printf("24 * 1 = 24 "); 19 } 20 } 21 else { 22 printf("1 * 2 = 2 "); 23 printf("2 * 3 = 6 "); 24 printf("6 * 4 = 24 "); 25 for(int i = 5; i < n; i += 2) { 26 printf("%d - %d = 1 ", i + 1, i); 27 printf("24 * 1 = 24 "); 28 } 29 } 30 return 0; 31 }