题目:
将这十九个数放到十九个圈圈中,且这十九个数不能重复。只能在tiaojian的方法体加东西,其他地方不能做改动。
#include <iostream>
#incllude<set>
using namespace std;
int a[19];
void tiaojian()
{
a[16] = 15;
a[17] = 13;
a[18] = 10;
a[0] = 38-a[1]-a[16];
if(a[0] < 1 || a[0] > 19) return ;
a[8] = 38-a[5]-a[18];
if(a[8] < 1 || a[8] > 19) return ;
//输出格式如下: 可以复制以后修改
// cout << a[ ]<<" " << a[ ]<<" " << a[ ]<<" " << a[ ]<<" " << a[ ] << endl;
}
int main()
{
for( a[1] =1 ; a[1]<=19 ; a[1]++)
for( a[2] =1 ; a[2]<=19 ; a[2]++)
for( a[3] =1 ; a[3]<=19 ; a[3]++)
for( a[4] =1 ; a[4]<=19 ; a[4]++)
for( a[5] =1 ; a[5]<=19 ; a[5]++)
{
tiaojian();
}
return 0;
}
程序代码:
#include <iostream>
using namespace std;
int a[19];
void tiaojian()
{
a[16] = 15;
a[17] = 13;
a[18] = 10;
a[0] = 38-a[1]-a[16];
if(a[0] < 1 || a[0] > 19||a[0]==a[1]||a[0]==a[2]||a[0]==a[3]||a[0]==a[4]||a[0]==a[5]||a[0]==a[16]||a[0]==a[17]||a[0]==a[18]) return ;
a[8] = 38-a[5]-a[18];
if(a[8] < 1 || a[8] > 19||a[8]==a[1]||a[8]==a[2]||a[8]==a[3]||a[8]==a[4]||a[8]==a[5]||a[8]==a[0]||a[8]==a[16]||a[8]==a[17]||a[8]==a[18]) return ;
if(a[1]+a[2]+a[3]+a[4]+a[5]==38&&a[1]!=a[2]&&a[1]!=a[3]&&a[1]!=a[4]&&a[1]!=a[5]&&a[2]!=a[3]&&a[2]!=a[4]&&a[2]!=a[5]&&a[3]!=a[4]&&a[3]!=a[5]&&a[4]!=a[5]&&a[1]!=a[16]&&a[1]!=a[17]&&a[1]!=a[18]&&a[2]!=a[16]&&a[2]!=a[17]&&a[2]!=a[18]&&a[3]!=a[16]&&a[3]!=a[17]&&a[3]!=a[18]&&a[4]!=a[16]&&a[4]!=a[17]&&a[4]!=a[18]&&a[5]!=a[16]&&a[5]!=a[17]&&a[5]!=a[18])
for( a[6] =1 ; a[6]<=19 ; a[6]++){
if(a[6]==a[1]||a[6]==a[2]||a[6]==a[3]||a[6]==a[4]||a[6]==a[5]||a[6]==15||a[6]==13||a[6]==10) continue ;
a[9] = 38-a[17]-a[6]-a[2];
if(a[9] < 1 || a[9] > 19||a[9]==a[1]||a[9]==a[2]||a[9]==a[3]||a[9]==a[4]||a[9]==a[5]||a[9]==a[6]||a[9]==15||a[9]==13||a[9]==10) continue ;
a[7] = 38-a[0]-a[6]-a[8];
if(a[7] < 1 || a[7] > 19|| a[7]==a[1]||a[7]==a[2]||a[7]==a[3]||a[7]==a[4]||a[7]==a[5]||a[7]==a[6]||a[7]==a[9]||a[7]==15||a[7]==13||a[7]==10) continue ;
a[13] = 38-a[1]-a[9];
if(a[13] < 1 || a[13] > 19|| a[13]==a[1]||a[13]==a[2]||a[13]==a[3]||a[13]==a[4]||a[13]==a[5]||a[13]==a[6]||a[13]==a[9]||a[13]==a[7]||a[13]==15||a[13]==13||a[13]==10) continue ;
a[10] = 38-a[16]-a[7]-a[13];
if(a[10] < 1 || a[10] > 19|| a[10]==a[1]||a[10]==a[2]||a[10]==a[3]||a[10]==a[4]||a[10]==a[5]||a[10]==a[6]||a[10]==a[9]||a[10]==a[7]||a[10]==a[13]||a[10]==15||a[10]==13||a[10]==10) continue ;
a[12] = 38-a[17]-a[7]-a[4];
if(a[12] < 1 || a[12] > 19||a[12]==a[1]||a[12]==a[2]||a[12]==a[3]||a[12]==a[4]||a[12]==a[5]||a[12]==a[6]||a[12]==a[9]||a[12]==a[7]||a[12]==a[13]||a[12]==a[10]||a[12]==15||a[12]==13||a[12]==10) continue ;
a[15] = 38-a[5]-a[12];
if(a[15] < 1 || a[15] > 19||a[15]==a[1]||a[15]==a[2]||a[15]==a[3]||a[15]==a[4]||a[15]==a[5]||a[15]==a[6]||a[15]==a[9]||a[15]==a[7]||a[15]==a[13]||a[15]==a[10]||a[15]==a[12]||a[15]==15||a[15]==13||a[15]==10) continue ;
a[14] = 38-a[13]-a[15];
if(a[14] < 1 || a[14] > 19||a[14]==a[1]||a[14]==a[2]||a[14]==a[3]||a[14]==a[4]||a[14]==a[5]||a[14]==a[6]||a[14]==a[9]||a[14]==a[7]||a[14]==a[13]||a[14]==a[10]||a[14]==a[12]||a[14]==a[15]||a[14]==15||a[14]==13||a[14]==10) continue ;
a[11] = 38-a[14]-a[4]-a[8];
if(a[11] < 1 || a[11] > 19||a[11]==a[1]||a[11]==a[2]||a[11]==a[3]||a[11]==a[4]||a[11]==a[5]||a[11]==a[6]||a[11]==a[9]||a[11]==a[7]||a[11]==a[13]||a[11]==a[10]||a[11]==a[12]||a[11]==a[15]||a[11]==a[14]||a[11]==15||a[11]==13||a[11]==10){
continue ;
} else{
cout << a[1]<<" " << a[ 2 ]<<" " << a[ 3 ]<<" " << a[ 4 ]<<" " << a[ 5 ] << endl;
}
}
}
int main()
{
for( a[1] =1 ; a[1]<=19 ; a[1]++)
for( a[2] =1 ; a[2]<=19 ; a[2]++)
for( a[3] =1 ; a[3]<=19 ; a[3]++)
for( a[4] =1 ; a[4]<=19 ; a[4]++)
for( a[5] =1 ; a[5]<=19 ; a[5]++)
{
tiaojian();
}
return 0;
}