Din fisierul suma.in se citesc numerele 12 10 15 7 17 10 19 14 . sa se calculeze in variabila s suma dintre elementele care se afla intre primul si ultimul element prim. Vreau rezolvarea fara vectori . Trebuie sa o fac cu secventa (adica mai intai citesc pe x si y din fisier , prelucrez x apoi fac interschimbarea x=y si tot asa pana cand nu mai sunt elemente in fisier . in cazul in care nu ati inteles ce am vrut sa spun este problema #298 SumSec de pe pbinfo . Repet : fara vectori , cu secventa !
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
ifstream in("sumsec.in");
ofstream out("sumsec.out");
int n = 0, v[1000], prim1 = 0, prim2 = 0;
long long s = 0;
in >> n;
for (int i=0; i<n; i++)
{
in >> v[i];
int OK = 1;
for (int j=2; j<=sqrt(v[i]) && OK; j++)
if (v[i]%j==0)
OK = 0;
if (OK && v[i] != 0 && v[i] != 1)
{
if (!prim1)
{
prim1 = i;
prim2 = i;
}
else
prim2 = i;
}
}
for (int i=prim1; i<=prim2; i++)
s += v[i];
out << s;
return 0;
}
Alte întrebări interesante
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 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ă