C 算24(不改變4個數順序,能否得到24)

2021-08-11 14:51:28 字數 963 閱讀 1323

時限:1000ms 記憶體限制:10000k 總時限:3000ms

描述:

輸入4個1~13的整數,不改變順序,窮舉所有的運算次序和運算子,能否得到24。

輸入:

輸入4個1~13的整數。

輸出:

不改變4個數的順序,窮舉所有的運算次序和運算子,能得到24,則輸出「yes」,否則輸出「no」。

輸入樣例:

7 4 13 5

輸出樣例:

yes

#include

using namespace std;

void init();

void search();

void pailei(int m);

int calc(int n);

int x,y,flag=0;

int a[4];

int main()

else if(n==1)

else if(n==2)

}void init()

}void search()

{int i,j,k,l,m;

int b[3];

for(l=0;l<3;l++)

{x=a[l];

y=a[l+1];

for(m=0;m<3;m++)

{b[l]=calc(m);

b[(l+1)%3]=a[(l+2)%4];

b[(l+2)%3]=a[(l+3)%4];

for(i=0;i<2;i++)

{x=b[i];

y=b[i+1];

for(j=0;j<3;j++)

{x=calc(j);

y=b[(i+2)%3];

for(k=0;k<3;k++)

{if(calc(k)==24)

{cout<<"yes"<

C 算24 解題思路

給出4個小於10個正整數,你可以使用加減乘除4種運算以及括號把這4個數連線起來得到乙個表示式。現在的問題是,是否存在一種方式使得得到的表示式的結果等於24。這裡加減乘除以及括號的運算結果和運算的優先順序跟我們平常的定義一致 這裡的除法定義是實數除法 比如,對於5,5,5,1,我們知道5 5 1 5 ...

兩個NOI題目的啟迪 皇后和算24

論出於什麼原因和目的,學習 已經有乙個星期左右,從開始就在做 的題目,到現在也沒有正式的看 primer c 不過還是受益良多,畢竟 是一種 低階的高階語言 而且 上的題目可以說是循序漸進。不僅僅是從 的角度看程式語言,這讓我對程式語言語言的理解有了一些深入。這一篇來記錄一下 基本演算法之搜尋 的兩...

兩個相等的陣列,修改其中乙個怎麼做到不改變另外乙個

方法一 concat 用於連線兩個或多個陣列。該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。let arra 1,2,3 let arrb concat arra console.log arra,arrb 1,2,3 1,2,3 如果改變arra,arrb不會改變 arra.spli...