1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4,...
Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale n, k şi p şi care să determine:
a) suma tuturor numerelor prime aflate printre primii n termeni ai şirului din enunţ;
a) numărul de apariţii ale cifrei k printre primii n termeni ai şirului din enunţ;
b) cel de-al p-lea termen al şirului din enunţ.
Răspunsuri la întrebare
Răspuns de
6
#include <iostream>
using namespace std;
int main()
{
int a,b,c,n,i,k,s=0,nr=0,y;
int p;
cin>>n>>k>>p;
a=1; b=2; y=p%60;
if(a==k)nr++;
if(b==k)nr++;
s=2;
for(i=3;i<=n;i++)
{
c=(a+b)%10;
a=b; b=c;
if((c==2)||(c==3)||(c==5)||(c==7))s=s+c;
if(c==k)nr++;
}
a=1; b=2;
if(y==1)
c=a;
else
if(y==2)
c=b;
else
{
if(y==0)
y=60;
for(i=3;i<=y;i++)
{
c=(a+b)%10;
a=b; b=c;
}
}
cout<<s;
cout<<endl<<nr;
cout<<endl<<c;
return 0;
}
using namespace std;
int main()
{
int a,b,c,n,i,k,s=0,nr=0,y;
int p;
cin>>n>>k>>p;
a=1; b=2; y=p%60;
if(a==k)nr++;
if(b==k)nr++;
s=2;
for(i=3;i<=n;i++)
{
c=(a+b)%10;
a=b; b=c;
if((c==2)||(c==3)||(c==5)||(c==7))s=s+c;
if(c==k)nr++;
}
a=1; b=2;
if(y==1)
c=a;
else
if(y==2)
c=b;
else
{
if(y==0)
y=60;
for(i=3;i<=y;i++)
{
c=(a+b)%10;
a=b; b=c;
}
}
cout<<s;
cout<<endl<<nr;
cout<<endl<<c;
return 0;
}
Răspuns de
5
Am si eu o solutie in C++ cu vectori. Succes!
#include <bits/stdc++.h>
using namespace std;
int ct, k, p, n, v[105], i, s;
int main ()
{
cin >> n >> k >> p;
v[1] = 1;
v[2] = 2;
for (i = 3; i<= 100; i ++)
v[i] = (v[i-1] + v[i-2]) % 10;
s = 0;
for (i = 1; i <= n; i ++)
{
if (v[i] == 2 || v[i] == 3 || v[i] == 5 || v[i] == 7)
s = s + v[i];
if (v[i] == k) ct ++;
}
p = p % 60;
cout << s << "\n";
cout << ct << "\n";
cout << v[p];
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int ct, k, p, n, v[105], i, s;
int main ()
{
cin >> n >> k >> p;
v[1] = 1;
v[2] = 2;
for (i = 3; i<= 100; i ++)
v[i] = (v[i-1] + v[i-2]) % 10;
s = 0;
for (i = 1; i <= n; i ++)
{
if (v[i] == 2 || v[i] == 3 || v[i] == 5 || v[i] == 7)
s = s + v[i];
if (v[i] == k) ct ++;
}
p = p % 60;
cout << s << "\n";
cout << ct << "\n";
cout << v[p];
return 0;
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă