Informatică, întrebare adresată de Matvei312, 9 ani în urmă

Rezolvati problema in limbajul C++ cu tipul de date fisiere string.
La o florarie s-au primit n (n<=30000) fire de flori. Din fisierul buchete.in se citeste numarul n.
Florareasa doreste sa le aranjeze in vaze astfel incat:
- toate vazele sa contina acelasi numar de flori
- numarul florilor din vaza sa fie impar
Cerinta: Afisati in fisierul buchete.out, in cate moduri poate imparti florareasa cele n fire de flori.
Pentru fiecare caz afisati numarul de vaze necesare si cate flori va contine fiecare vaza.
Exemplu:
n=9
1 vaza a cate 9 flori
3 vaze a cate 3 flori
9 vaze cate 1 floare
Florile se pot imparti in 3 moduri:

Răspunsuri la întrebare

Răspuns de ated
0
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("buchete.in");
    ofstream out("buchete.out");
    int n; in >> n;
    int nr = 0;
    for (int i=1; i<=n; i++)
    {
        if (n % i == 0 && n / i % 2 == 1)
        {
            nr++;
            out << i;
            if (i == 1)
                out << " vaza";
            else
                out << " vaze";
            out << " a cate " << n/i;
            if (n/i == 1)
                out << " floare";
            else
                out << " flori";
            out << "\n";
        }
    }
    out << "Florile se pot imparti in " << nr << " moduri.";
    return 0;
}

Alte întrebări interesante