Într-o închisoare cu n celule se află, la un moment dat, n deţinuţi. Se ia hotărârea să fie eliberaţi anumiţi deţinuţi, alegerea lor făcându-se într-un mod special. În închisoarea aceea erau tot n gardieni. Procedeul de determinare a deţinuţilor ce vor fi eliberaţi este următorul: gardianul k pleacă de la celula k şi mergând din k în k celule, schimbă starea uşilor pe la care trece,1<=k<=n. În final anumite celule vor rămâne deschise, deţinuţii respectivi fiind eliberaţi. Puteţi afla care? Iniţial toate uşile sunt închise. Exemplu: n=50 vor fi eliberati cei din celulele 1 4 9 16 25 36 49.
Utilizator anonim:
adica?
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int n, i, max;
cin>>n;
int v[n];
max = floor((float)sqrt(n));
for(i=1;i<=max;i++) v[i] = i*i;
for(i=1;i<=max;i++) cout<<v[i]<<" ";
}
#include <math.h>
using namespace std;
int main(){
int n, i, max;
cin>>n;
int v[n];
max = floor((float)sqrt(n));
for(i=1;i<=max;i++) v[i] = i*i;
for(i=1;i<=max;i++) cout<<v[i]<<" ";
}
Răspuns de
0
Varianta mult mai rapidă:
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i=1; i*i<=n; i++) cout << i * i << ' ';
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i=1; i*i<=n; i++) cout << i * i << ' ';
return 0;
}
Alte întrebări interesante
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă