Afişează mesaje
|
Pagini: 1 ... 4 5 [6] 7
|
126
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema siruri!
|
: Iunie 13, 2013, 20:31:34
|
Deci s=1-a+a^2-a^3+a^4+...+(-1)^n * a^n; Daca te uiti mai atent iti dai seama ca e o diferenta de 2 progresii geometrice de ratie a2; De fapt tu ai de calculat a0+a2+....+an/2 + 1 - ( a1 + a3 + ... + +an/2 + 1 ); Asta pentru cazul cand n este impar... Si o progesia geometrice de ratie r, prim termen b si n termeni este b*(rn-1)/(r-1);
|
|
|
128
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: numere prime gemene
|
: Iunie 10, 2013, 22:53:17
|
Ok...nu sunt sigur ca inteleg ce face funtia prim: de verificat ca un numar este prim nu face daca asta era scopul ei: #include <iostream> using namespace std;
void prim(int n) { int i, j, cnt=0, pred = 0; cout<<"\n"; for(i=3;i<=n;i++) { cnt=0; for(j=1;j<=i;j++) { if(i%j==0) cnt++; } if(cnt==2){
if ( pred != 0 ) cout<<"("<<pred<<","<<i<<");";
pred = i; } } }
int main() { int n, cnt=0; cout<<"\n introduceti n = "; cin>>n; prim(n); return 0; }
Ce am scris eu afiseaza toate numerele "gemene"
|
|
|
130
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: afisare matrice
|
: Iunie 10, 2013, 22:44:19
|
Nu sunt sigur ca am inteles ce iti trebuie(apropo: puteai sa cauti pe net asa ceva) asa ca ti-am mutat programul pe functii: #include <iostream> using namespace std;
void citire( int a[][10], int &n, int &m ) { int i, j; cout<<"\n matrice A numarul de linii n = "; cin>>n; cout<<"\n matrice A numarul de coloane m = "; cin>>m; for(i=0;i<n;i++) { for(j=0;j<m;j++) { cout<<"\n A["<<i<<"]["<<j<<"] = "; cin>>a[i][j]; } }
}
void afisare( int a[][10], int n, int m ) { int i, j;
for(i=0;i<n;i++) { for(j=0;j<m;j++) cout<<"\t\t"<<a[i][j]; cout<<"\n\n"; }
}
int main() { int A[10][10], m, n;
citire(A,n,m); afisare(A,n,m);
return 0; }
|
|
|
137
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / problema dinamica
|
: Aprilie 05, 2013, 10:36:12
|
Am gasit o problema de dinamica pe campion: http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=616 Fie A si B doua siruri formate din maxim 1000 litere mici ale alfabetului englez.
Un subsir al unui sir este format din caractere (nu neaparat consecutive) ale sirului respectiv, în ordinea în care acestea apar în sir.
Cerinta
Scrieti un program care sa determine cel mai scurt subsir al sirului A, care nu este subsir al sirului B.
Stiu relatia de recurenta la cel mai lung subsir comun dar nu stiu cum sa o adaptez pentru acest caz... for ( int i = 1; i <= lgA; i++ ) for ( int j = 1; j <= lgB; j++ ) if ( A[i] != B[j] ) D[i][j] = D[i - 1][j - 1] + 1; else D[i][j] = min ( D[i][j - 1], D[i - 1][j] );
Recurenta de mai sus este cea la care m-am gandit dar merge pe majoritatea testelor.
|
|
|
|