Jump to content

Problema algoritm


Sebby
 Share

Recommended Posts

Am rezolvat un algoritm de pe un site si am o problema. Oricat l-as invarti nu vrea sa il execute, deci probabil am ajuns la o structura infinita. In speranta ca se mai ocupa cineva de aceasta sectiune am zis sa intreb pe cineva care se pricepe mai bine decat mine. Algoritmul este urmatorul:

 

using namespace std;
#include <fstream>
ifstream f("pin.in");
ofstream g("pin.out");
int main()
{
int p,k,n,n1,gasit,ok,prim,d,r;
f>>k>>p;
n=9997;
gasit=0;
while (gasit==0)
{
	n1=n;
	ok=1;
	while (n!=0)
	{
		r=n1%10;
		if ((r==p)||(r==k)) ok=0;
		n1=n1/10;
	}
	if (ok==1) 
	{
		prim=1;
		d=2;
		while ((d*d<=n)&&(prim==1))
		{
			if (n%d==0) prim=0;
			d=d+1;
		}
	}
	if (prim==1) gasit=1;
			else
				 n=n-1;
}
g<<n;
f.close();
g.close();
return 0;
}

Link to comment
Share on other sites

Eu am inteles algoritmul, tu nu l-ai inteles... Acel g<<n este folosit pentru a scrie in fisierul g (definit la inceput prin ofstream g("pin.out")) valoarea n. Deci aceea nu este o greseala.

 

In fine, am gasit problema, la a doua structura while am pus n!=0 in loc de n1!=0 si de asta nu imi iesea niciodata din acea structura repetitiva.

Puteti inchide.

Link to comment
Share on other sites

Tu ai zis initial ca nu iti afiseaza nimic. Era si normal sa nu-ti afiseze nimic deodata ce nu este nici un cout sau functie asemanatoare, de aceea m-am luat de acel g<<n.

Sincer, nu am analizat cap coada algoritmul ca sa observ acea problema, oricum bine ca ai rezolvat.

 

TC!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.