REG NO:41409104030
CODING:
[Link]
import [Link];
mport [Link];
public class FibonacciGenerator extends Thread
{
private PipedWriter fibWriter=new PipedWriter();
public PipedWriter getPipedWriter()
{
return fibWriter;
}
public void run()
{
[Link]();
generateFibonacci();
}
private int f(int n)
{
if(n<2)
{
return n;
}
else
{
return f(n-1)+f(n-2);
}
}
public void generateFibonacci()
{
for(int i=2,fibValue=0;(fibValue=f(i))<100000;i++)
{
try
{
[Link](fibValue);
}
catch(IOException e)
{
[Link]();
}
}
}
public static void main(String[] args)
REG NO:41409104030
{
new FibonacciGenerator().generateFibonacci();
}
}
[Link]
import [Link];
public class Main
{
public static void main(String[] args)throws IOException
{
FibonacciGenerator fibonacciGenerator =new FibonacciGenerator ();
PrimeGenerator primeGenerator=new PrimeGenerator();
Receiver receiver=new Receiver(fibonacciGenerator,primeGenerator);
[Link]();
[Link]();
[Link]();
}
}
[Link]
import [Link];
import [Link];
public class PrimeGenerator extends Thread
{
private PipedWriter primeWriter=new PipedWriter();
public PipedWriter getPipedWriter()
{
return primeWriter;
}
public void run()
{
[Link]();
generatePrime();
}
public void generatePrime()
{
for(int i=2;i<100000;i++)
{
if(isPrime(i))
{
try
REG NO:41409104030
{
[Link](i);
}
catch(IOException e)
{
[Link]();
}
}
}
}
private boolean isPrime(int n)
{
boolean prime=true;
int sqrtValue=(int)[Link](n);
for(int i=2;i<=sqrtValue;i++)
{
if(n%i==0)
{
prime=false;
}
}
return prime;
}
public static void main(String[] args)throws IOException
{
PrimeGenerator gene=new PrimeGenerator();
[Link]();
}
}
[Link]
import [Link];
import [Link];
class Receiver extends Thread
{
private PipedReader fibReader;
private PipedReader primeReader;
public Receiver(FibonacciGenerator fib,PrimeGenerator prime)throws IOException
{
fibReader=new PipedReader([Link]());
primeReader=new PipedReader([Link]());
}
public void run()
{
REG NO:41409104030
int prime=0;
int fib=0;
try
{
prime=[Link]();
fib=[Link]();
}
catch(IOException e1)
{
[Link]();
}
while(true)
{
try
{
if(prime==fib)
{
[Link]("MATCH :: "+prime);
prime=[Link]();
fib=[Link]();
}
else if(fib<prime)
{
fib=[Link]();
}
else
{
prime=[Link]();
}
}
catch(IOException e)
{
[Link](-1);
}
}
}
}