Afişează mesaje
|
Pagini: [1]
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema Matrice elemente distincte
|
: Octombrie 24, 2013, 15:04:29
|
Acesta este enuntul : Sa se determine multimea formata din elementele distincte de pe marginea unui tablou bidimensional patratic. Ex: Pentru n=3 si matricea: 2 4 3 3 4 6 1 4 3 ----- se va afisa: 1 2 3 4 6 Aceasta este rezolvarea mea : #include <iostream> #include <fstream> using namespace std; fstream f("intrare.in",ios::in); fstream g("iesire.out",ios::out); int main() { int a[10][10],b[10],c[10],i,j,n,k,g1,l; f>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) f>>a [j];
k=0; for(i=0;i<n;i++) { c[k++]=a[0]; c[k++]=a[n-1]; } for(i=1;i<n-1;i++) { c[k++]=a c[k++]=a[n-1]; } l=0; b[l++]=c[0]; for(i=1;i<k;i++) { g1=0; for(j=0;j<l && g1==0;j++) if(c==b[j]) g1=1; if(g1==0) b[l++]=c; }
for(i=0;i<l;i++) g<<b<<" ";
}As dori sa stiu daca exista o solutie mai optima. O rezolvare mai rapida , am stat ceva si m-am gandit , dar asta e singurul mod care mi-a trecut prin minte. Mersi.
|
|
|
2
|
Comunitate - feedback, proiecte si distractie / Off topic / Cu ce sa incep ?
|
: Octombrie 01, 2013, 22:46:14
|
Salut , ma numesc Razvan si sunt clasa a 10 a .
Anul asta mi-am propus sa lucrez mult la informatica deoarece pe acest domeniu ma axez pe viitor , si pentru a intra la o facultate buna in afara , am nevoie de rezultate deosebite ( sa ajung cel putin la olimpiada nationala ) . Anul trecut , in clasa a 9 a , am ajuns doar la judeteana , obtinand doar 19 puncte din cele 200 posibile . Sunt multumit insa de rezultat deoarece vectorii si matricile in doar 2 saptamani (aici se includ algoritmii de baza + probleme lucrate ).
Am inceput sa lucrez probleme din culegerea de anu trecut pentru a-mi fixa materia de clasa a 9 a . Am nevoie de un sfat de la voi , daca nu este prea mare deranjul . Doresc sa stiu ce se da la olimpiada de clasa a 10 a , cu ce sa incep dupa ce termin de recapitulat , si ce probleme sa lucrez de pe acest site . ( Problemele din " arhiva de probleme " sunt foarte grele si ma gandesc ca unele sunt si pentru clasa a 11 a , peste nivelul meu ). Daca ma puteti ajuta si cu site-uri unde pot sa vad niste algoritmi care ma pot ajuta la olimpiada , as fi foarte recunoscator.
ps: scuzati-mi exprimarea de 2 lei
Doresc sa adaug faptul ca la mine la clasa profesorul nu prea isi da interesul pentru cei ca mine , care sunt interesati de informatica , ci facem probleme de nivel usor , care sunt la nivelul clasei.
Va multumesc.
|
|
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema Informatica
|
: Septembrie 30, 2013, 19:29:32
|
Se citeste un vector cu componente numere naturale. Sa se afiseze numarul cifrelor 0 cu care se termina numarul format din produsul celor n componente a unui vector.
Indicatie. Nu putem efectua produsul celor n numere pentru ca, apoi, sa vedem cu cate cifre 0 se termina, pentru ca intr-un astfel de caz numarul obtinut poate fi foarte mare (nu poate fi retinut intr-o variabila de tip int sau long). Solutia este urmatoare.
* se determina k_1, exponentul maxim al cifrei 2 astfel incat 2^{k_1} divide pe v[1]
* se determina k_n, exponentul maxim al cifrei 2 astfel incat 2^{k_n} divide pe v[n]
* se calculeaza a = k_1 + k_2 + ... + k_n.
* se determina p_1, exponentul maxim al cifrei 5 astfel incat 5^{k_1} divide v[1].
* se determina p_n exponentul maxim al cifrei 5 astfel incat 5^{k_n} divide v[n]
* se calculeaza b = p_1 + p_2 + ... + p_n.
Numarul de cifre 0 in care se termina produsul va fi minimul intre a si b.
Nu inteleg aceasta problema daca ma puteti ajuta , nu cu rezolvarea probleme ci cu niste sfaturi.
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Problema clasa a 9 a C++
|
: Ianuarie 19, 2013, 18:16:02
|
Enuntul : Pentru un numar n sa se afiseze ultimii p divizori proprii ai lui ( diferiti de 1 si de el insusi ). Daca numarul n are mai putin de p divizori se vor afisa toti. Exemplu : Pentru n=24 si p=2 se va afisa 8 12. #include <iostream>
using namespace std;
int main() { int n,p,i,x,u,q,d; cout<<"n="; cin>>n; cout<<"p="; cin>>p; i=2; x=0; u=n/2; q=0; d=2; while(i<=n/2) { if(n%i==0) { x++; } i++; } if(p<=x) { while(q<=p) { if(n%u==0) { cout<<u<<" "; } q=q+1; u=u-1; } } if(p>x) { while(d<=n/2) { if(n%d==0) { cout<<" "<<d; } d++; } }
}
Daca introduc un numar care are mai putin de p divizori , afiseaza toti divizorii , insa nu imi arata ultimii divizori P , ci doar ultimul divizor .
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Problema clasa a 9 a
|
: Decembrie 09, 2012, 20:05:58
|
Scrieti un program care citeste de la statatura n numere naturale ( <32000) si afiseaza numarul format prin alipirea cifrelor numarului maxim cu cel minim ( in aceasta ordine ) Exemplu : Pentru n=3 si numerele 63 , 153 , 62 se va afisa 15362 #include <iostream.h> #include <math.h> int main() { int n,a,i,max,min,z,b,d,c; cout<<"n="; cin>>n; i=1; c=0; z=0; max=-3200; min=3100; while(i<=n) { cout<<"a="; cin>>a; x=a; if(a>max) { max=a; } if(a<min) { min=x; } i++; } while(min!=0) { b=min%10; c=c*10+b; min=min/10; } while(c!=0) { d=c%10; z=10*max+d; c=c/10; } cout<<"Numarul este "<<z; }
Si totusi , programul imi afiseaza numarul maxim + o cifra lipita de el nu stiu de unde .
|
|
|
|