Регистрирайте се
| Предишната тема :: Следващата тема |
| Автор |
Съобщение |
evldvlkll Начинаещ
Регистриран на: 03 Apr 2007 Мнения: 77 Местожителство: Бургас
       
|
Пуснато на: Tue Jun 19, 2007 12:07 pm Заглавие: malko da posmqtate :D |
|
|
Dadeni sa 4islata 1,2,3.......,27. Trqbva da se razpredelqt v tri grupi taka po 9 4isla, taka 4e sborat na 4islata vav vsqka grupa da e raven i ako podrejdaneo e slednoto:
a1 + a2 +.... + a9 = 126
b1 + b2 +.... + b9 = 126
c1 + c2 + .... + c9 = 126, to trqbva i
a1 + b1 + c1 = a2 + b2 + c2 =......=a9 + b9 + c9 = 42
Da se nameri takova podrejdane
Molq pomognete! 10x mn predvaritelno  |
|
| Върнете се в началото |
|
 |
Реклама
|
Пуснато на: Заглавие: Реклама |
|
|
|
|
|
| Върнете се в началото |
|
 |
name01 Фен на форума

Регистриран на: 11 May 2007 Мнения: 500
     гласове: 5
|
Пуснато на: Wed Jun 20, 2007 3:15 pm Заглавие: |
|
|
Не успях да я реша чрез математически методи, затова пробвах с алгоритми C++ в крайна сметка един пич взе задачатa присърце и написа следното:
| Цитат: | #include <iostream>
using namespace std;
#include <stdio.h>
#include <conio.h>
bool is_good(int v[], const int size){
bool fine = true;
if(v[0]+v[9]+v[18] != 42){
fine = false;
}else if(v[1]+v[10]+v[19] != 42){
fine = false;
}else if(v[2]+v[11]+v[20] != 42){
fine = false;
}else if(v[3]+v[12]+v[21] != 42){
fine = false;
}else if(v[4]+v[13]+v[22] != 42){
fine = false;
}else if(v[5]+v[14]+v[23] != 42){
fine = false;
}else if(v[6]+v[15]+v[24] != 42){
fine = false;
}else if(v[7]+v[16]+v[25] != 42){
fine = false;
}else if(v[8]+v[17]+v[26] != 42){
fine = false;
}else if(v[0]+v[1]+v[2]+v[3]+v[4]+v[5]+v[6]+v[7]+v[8] != 126){
fine = false;
}else if(v[9]+v[10]+v[11]+v[12]+v[13]+v[14]+v[15]+v[16]+v[17] != 126){
fine = false;
}else if(v[18]+v[19]+v[20]+v[21]+v[22]+v[23]+v[24]+v[25]+v[26] != 126){
fine = false;
}else{
fine = true;
}
return( fine );
}
/* function to swap array elements */
void swap(int v[], const int i, const int j) {
int t;
t = v[i];
v[i] = v[j];
v[j] = t;
}
/* recursive function to generate permutations */
void perm(int v[], int n, int i) {
static const double total = 10888869450418352160768000000.0;
static double progress = 0;
/* this function generates the permutations of the array
* from element i to element n-1
*/
int j;
/* if we are at the end of the array, we have one permutation
* we can use (here we print it; you could as easily hand the
* array off to some other function that uses it for something
*/
if(i == n) {
progress++;
if( is_good(v,n) ){
for (j=0; j<n; j++)
printf("%d ", v[j]);
printf("\n");
}
//if( !((unsigned long)progress%10000000) )
//printf("%3d%%\n", (int)(progress*100.0/total));
}else{
/* recursively explore the permutations starting
* at index i going through index n-1
*/
for(j=i; j<n; j++) {
/* try the array with i and j switched */
swap(v, i, j);
perm(v, n, i+1);
/* swap them back the way they were */
swap(v, i, j);
}
}
}
/* little driver function to print perms of first 5 integers */
int main () {
int v[27], i;
for(i=0; i<27; i++)
v[i] = i+1;
perm(v, 27, 0);
system( "PAUSE" );
return( 0 );
} |
Доста тежък за изпълнение алгоритъм, чак после разбрах за т.нар магически кубове, все пак ми е интересно каква е чисто математическата логика на тази задача, защото освен сравнения изключвания грешки, проби, пермутации и т.н. друго не се сещам.
Както и да е отговора поне е красив:
[/img] |
|
| Върнете се в началото |
|
 |
name01 Фен на форума

Регистриран на: 11 May 2007 Мнения: 500
     гласове: 5
|
Пуснато на: Wed Jun 20, 2007 3:19 pm Заглавие: |
|
|
Пък и не е единствен.  |
|
| Върнете се в началото |
|
 |
evldvlkll Начинаещ
Регистриран на: 03 Apr 2007 Мнения: 77 Местожителство: Бургас
       
|
Пуснато на: Wed Jun 20, 2007 8:01 pm Заглавие: |
|
|
Mersiiiiiiiiiiiii Otarva mi kojata 4ovek (dance) Blagodarq ti mnogo i e mnogo krasivo, stava strahotno mn sam ti blagodarna  |
|
| Върнете се в началото |
|
 |
name01 Фен на форума

Регистриран на: 11 May 2007 Мнения: 500
     гласове: 5
|
Пуснато на: Wed Jun 20, 2007 10:54 pm Заглавие: |
|
|
Незнам за какво ти е тази, задача, но ако някой ти я е дал на изпит контролно или нещо от сорта си е правил някакъв експеримент. Потърси из нета за magic cube.
Magic cube |
|
| Върнете се в началото |
|
 |
evldvlkll Начинаещ
Регистриран на: 03 Apr 2007 Мнения: 77 Местожителство: Бургас
       
|
Пуснато на: Thu Jun 21, 2007 11:38 am Заглавие: |
|
|
Potarsih, namerih podrobna informaciq, si4ko e ok, napisano mi e doma6noto. Mi ne to tova e samo primera, koito trqbva da dam na edna druga, dosta po seriozna zada4a, dadena mi za doma6na. Mersi mn  |
|
| Върнете се в началото |
|
 |
|
|
Не Можете да пускате нови теми Не Можете да отговаряте на темите Не Можете да променяте съобщенията си Не Можете да изтривате съобщенията си Не Можете да гласувате в анкети You cannot attach files in this forum Може да сваляте файлове от този форум
|
|