當前位置:成語大全網 - 新華字典 - 航電ACM1015

航電ACM1015

這個題目的意思很簡單。說白了就是找壹個合格的密碼。

條件:

1.用大寫字母。

2.妳能重復這封信嗎?

3.使V-W ^ 2+X ^ 3-Y ^ 4+Z ^ 5 =目標。

4.或者說這五個大寫字母的順序應該是字典順序中最大的。(註意這個)

以下是我的代碼:

# include & ltiostream & gt

# include & ltcmath & gt

# include & lt算法& gt

使用命名空間std

布爾cmp(字符a,字符b)

{

return a & gtb;

}

int main()

{

無符號long n,lenth

字符編號[20];

char鍵[20];

int ok

而(CIN & gt;& gtn & gt& gt關鍵)

{

ok = 1;

if(n = = 0 & amp;& amp!strcmp(key,“END”))

打破;

lenth = strlen(key);

sort(key,key+lenth,CMP);

for(int I = 0;我& lt倫特& amp& ampok;i++)

{

num[0]= key[I];

for(int j = 0;j & lt倫特& amp& ampok;j++)

{

num[1]= key[j];

如果(j==i)

繼續;

for(int k = 0;k & lt倫特& amp& ampok;k++)

{

num[2]= key[k];

如果(k==i || k==j)

繼續;

for(int l = 0;l & lt倫特& amp& ampok;l++)

{

num[3]= key[l];

if(l==i || l==i || l==k)

繼續;

for(int m = 0;m & lt倫特& amp& ampok;m++)

{

num[4]= key[m];

if(m==i || m==j || m==k || m==l)

繼續;

其他

{

if((double(num[0]-64)-pow(double(num[1]-64),2) + pow(double(num[2]-64),3) - pow(double(num[3]-64),4) + pow(double(num[4]-64),5) ) == n)

{

cout & lt& ltnum[0]& lt;& ltnum[1]& lt;& ltnum[2]& lt;& ltnum[3]& lt;& ltnum[4]& lt;& ltendl

ok = 0;

}

}

}

}

}

}

}

如果(好)

cout & lt& lt“無解”& lt& ltendl

}

返回0;

}