Răspuns :
Nr de randuri este dat de catul impartirii lui n la 5(pentru ca sunt 5 flori pe rand). Daca restul impartirii lui n la 5 este mai mare ca 0, atunci au ramas flori in plus si mai trebuie adaugat un rand.
Pentru a verifica faptul ca sunt randuri complete, restul impartirii lui n la 5 trebuie sa fie 0(nu au ramas flori pe un rand aditional). Daca restul impartirii este mai mare ca 0, atunci exista un rand necompletat.
Pentru a vedea ce tip de flori este plantat:trebuie sa aduni numarul de randuri pentru fiecare tip de planta pana cand ajungi la numarul total de randuri. Observi ca randurile de flori sunt alternative: prima este micsunele, doua randuri panselute, apoi trei randuri micsunele, apoi 4 panselute
Deci observi ca daca este un numar impar, atunci sunt micsunele, daca este un numar par, atunci sunt panselute. In cod, o sa vezi ca dupa structura while in care adunam randuri pana le completam pe toate, o sa scad valoarea k cu 1 pentru ca a fost o data adunat in while
#include <iostream>
using namespace std;
int main(){
int n,nr_randuri,ult_rand,i,s=0,k=1,tip_flori;
cin>>n;
nr_randuri=n/5;
ult_rand=n%5;
if(ult_rand>0){
nr_randuri=nr_randuri+1;
}
cout<<nr_randuri<<endl;
if(ult_rand==0){
cout<<"DA"<<endl;
}
else{
cout<<"NU"<<endl;
}
while(s<nr_randuri){
s=s+k;
k=k+1;
}
k=k-1;
if(k%2==1){
cout<<"micsunele";
}
else{
cout<<"panselute";
}
return 0;
}
Pentru a verifica faptul ca sunt randuri complete, restul impartirii lui n la 5 trebuie sa fie 0(nu au ramas flori pe un rand aditional). Daca restul impartirii este mai mare ca 0, atunci exista un rand necompletat.
Pentru a vedea ce tip de flori este plantat:trebuie sa aduni numarul de randuri pentru fiecare tip de planta pana cand ajungi la numarul total de randuri. Observi ca randurile de flori sunt alternative: prima este micsunele, doua randuri panselute, apoi trei randuri micsunele, apoi 4 panselute
Deci observi ca daca este un numar impar, atunci sunt micsunele, daca este un numar par, atunci sunt panselute. In cod, o sa vezi ca dupa structura while in care adunam randuri pana le completam pe toate, o sa scad valoarea k cu 1 pentru ca a fost o data adunat in while
#include <iostream>
using namespace std;
int main(){
int n,nr_randuri,ult_rand,i,s=0,k=1,tip_flori;
cin>>n;
nr_randuri=n/5;
ult_rand=n%5;
if(ult_rand>0){
nr_randuri=nr_randuri+1;
}
cout<<nr_randuri<<endl;
if(ult_rand==0){
cout<<"DA"<<endl;
}
else{
cout<<"NU"<<endl;
}
while(s<nr_randuri){
s=s+k;
k=k+1;
}
k=k-1;
if(k%2==1){
cout<<"micsunele";
}
else{
cout<<"panselute";
}
return 0;
}