Se rezolva doar cu FOR,WHILE,IF fara chestii complicate: vectori,pointeri,functii etc.
Multumesc,dau COROANA+5*+Multumesc
Andrei este colecționar de timbre. Deoarece are prea multe timbre și loc de depozitare cam puțin, s-a gândit să îi ofere o parte din ele unui prieten de-al său, la fel de pasionat. Fiindcă este atașat de fiecare timbru în parte, Andrei nu poate alege pe care timbre să le dea cadou, așa că s-a gândit la o modalitate de a alege automat timbrele.
Acesta are un număr n de timbre, iar fiecare timbru are un număr de ordine de la 0 la n-1. El s-a gândit să îi ofere prietenului său k timbre, și anume cele cu cel mai mare număr de ordine mai mic decât n, care să fie multipli ai unui număr ales p.
Date de intrare
Programul citește de la tastatură numărul natural n, reprezentând numărul de timbre din colecție, un număr k, reprezentând numărul de timbre pe care Andrei vrea să le ofere, urmat de un alt număr p, numărul ai cărui multipli îi căutăm.
Date de ieșire
Programul va afișa pe ecran numerele de ordine ale timbrelor pe care Andrei i le va oferi prietenului său, în ordine descrescătoare.
Restricții si precizări
0 < n ≤ 2500
0 < k < 25
0 < p ≤ 100
Se garantează că pentru fiecare test există soluție
Exemplu
Date de intrare Date de ieșire
158 4 11 154 143 132 121
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n, p,k;
cin>>n>>k>>p;
for(int i=1; i<=k; i++)
{
cout<<(n/p)*p<<" ";
n=n-p;
}
return 0;
}
Explicație:
am citit n, k si p
apoi am facut un for de la 1 pana la k (deoarece trebuiesc afisate k numere)
numerele fiind naturale si nu reale, operatia "/" sau div o sa returneze catul impartirii la p, dupa care inmultim cu p ca sa obtinem multiplul lui p, apoi il scadem pe p din n ca sa obtinem urmatorul numar.
Daca este prea complicat sau ceva mai pot posta inca o rezolvare pentru problema
rollinn20:
am primit doar 65 de pcte...undeva e o mica greseala...poate ma poti ajuta
using namespace std;
int main()
{
unsigned n, p, k, i;
cin>>n>>k>>p;
for(i=n-1; i>=0 && k; i--)
if(i%p==0)
{
cout< k--;
}
return 0;
}
#include
using namespace std;
int main()
{
int n, p,k;
cin>>n>>k>>p;
for(int i=1; i<=k; i++)
{
cout<<((n-1)/p)*p<<" ";
n=n-p;
}
return 0;
}
mai incearca-le si pe astea
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Arte,
9 ani în urmă
Limba română,
9 ani în urmă