Se consideră şirul 1, 2,1, 3,2,1, 4,3,2,1, ... , în care prima grupă este formată din numărul 1 , a doua grupă este formată din numerele 2,1 , ..., iar a k - a grupă este formată din numerele k, k - 1 , ..., 2, 1 . Pentru un număr natural dat n , să se determin e al n - lea termen din şir. Date de intrare: Programul citeşte de la tastatură numărul n. Date de ieşire: Programul va afişa pe ecran numărul x , reprezentând al n - lea termen din şir. Exemplu: pentru n=14, se va afișa 2.
lozanalex:
Pentru ce limbaj de programare, Pascal sau C++, sau ...?
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n,k=1,x;
vector <int> a;
cin >> n;
while (a.size()<n)
{
x=k;
while (x)
{
a.push_back(x);
x--;
}
k++;
}
cout << a[n-1];
return 0;
}
var n,k,x:integer;
a:array [0..100000] of integer;
begin
read(n); k:=1;
while (a[0]<n) do
begin
x:=k; k:=k+1;
while (x>0) do
begin
a[0]:=a[0]+1;
a[a[0]]:=x;
x:=x-1;
end;
end;
write(a[n]);
end.
#include <vector>
using namespace std;
int main()
{
int n,k=1,x;
vector <int> a;
cin >> n;
while (a.size()<n)
{
x=k;
while (x)
{
a.push_back(x);
x--;
}
k++;
}
cout << a[n-1];
return 0;
}
var n,k,x:integer;
a:array [0..100000] of integer;
begin
read(n); k:=1;
while (a[0]<n) do
begin
x:=k; k:=k+1;
while (x>0) do
begin
a[0]:=a[0]+1;
a[a[0]]:=x;
x:=x-1;
end;
end;
write(a[n]);
end.
Alte întrebări interesante
Limba română,
8 ani în urmă
Studii sociale,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă