@Tammana can u pls give me the logic of the above code !

On Tue, Sep 20, 2011 at 8:35 AM, Tamanna Afroze <afroze...@gmail.com> wrote:

>
> I don't know whether my one is good algorithm or not, but it gives somewhat
> good output. It is in Java.
>
> /*
>  * To change this template, choose Tools | Templates
>  * and open the template in the editor.
>  */
> package prime;
>
> /**
>  *
>  * @author Tamanna Afroze
>  */
>
> import java.io.File;
> import java.io.FileReader;
> import java.io.FileWriter;
> import java.io.BufferedReader;
> import java.io.BufferedWriter;
> import java.io.IOException;
> import java.util.StringTokenizer;
>
> public class Prime {
>
>     /**
>      * @param args the command line arguments
>      */
>     boolean haveFactor(int iNumber){
>         int iFactors[] = new int[10000];
>         int iIndex = 0;
>         iFactors[iIndex] = 1;
>         iIndex++;
>         iFactors[iIndex] = iNumber;
>         iIndex++;
>
>         if(iNumber != 2 && (iNumber%2)==0){
>             iFactors[iIndex] = 2;
>             iIndex++;
>             iNumber /=2;
>             if( iNumber != 2 ){
>                 iFactors[iIndex] = iNumber;
>                 iIndex++;
>             }
>             int iLoop = 2;
>             if( iNumber != 2 ){
>                 while((iNumber%2) != 1){
>                     iFactors[iIndex] = 2*iLoop;
>                     //System.out.println("Here :" + iFactors[iIndex]);
>                     iIndex++;
>                     iNumber /= 2;
>                     iFactors[iIndex] = iNumber;
>                     iIndex++;
>                     iLoop *= 2;
>                 }
>             }
>             if(iNumber != 3 && (iNumber%3)==0){
>                 iFactors[iIndex] = 3;
>                 iIndex++;
>                 iNumber /=3;
>                 if( iNumber != 3 ){
>                     iFactors[iIndex] = iNumber;
>                     iIndex++;
>                 }
>                 iLoop = 3;
>                 if( iNumber != 3 ){
>                     while((iNumber%3) != 1){
>                         iFactors[iIndex] = 3*iLoop;
>                         //System.out.println("Here :" + iFactors[iIndex]);
>                         iIndex++;
>                         iNumber /= 3;
>                         if( iNumber != 3 ){
>                             iFactors[iIndex] = iNumber;
>                             iIndex++;
>                         }
>                         iLoop *= 3;
>                     }
>                 }
>             }
>             for(int i =0; i<iIndex; i++){
>                 //System.out.println(iFactors[i]);
>             }
>             return true;
>         }
>         else if(iNumber != 3 && (iNumber%3)==0){
>             iFactors[iIndex] = 3;
>             iIndex++;
>             iNumber /=3;
>             if( iNumber != 3 ){
>                 iFactors[iIndex] = iNumber;
>                 iIndex++;
>             }
>             int iLoop = 3;
>             while(iNumber != 3 && (iNumber%3) != 1){
>                 iFactors[iIndex] = 3*iLoop;
>                 //System.out.println("Here :" + iFactors[iIndex]);
>                 iIndex++;
>                 iNumber /= 3;
>                 if( iNumber != 3 ){
>                     iFactors[iIndex] = iNumber;
>                     iIndex++;
>                 }
>                 iLoop *= 3;
>             }
>             for(int i =0; i<iIndex; i++){
>                 //System.out.println(iFactors[i]);
>             }
>             return true;
>         }
>         else{
>             return false;
>         }
>     }
>
>     public void Operation(){
>         String number,numberofinput,first,second;
>         int index = 0,iFirst = 0,iSecond = 0, iNumberOfInput = 0;
>
>         try{
>             File file = new File("input.txt");
>             FileReader fileReader = new FileReader(file);
>             BufferedReader bufferedReader = new BufferedReader(fileReader);
>
>             FileWriter fileWriter = new FileWriter("output.txt");
>             BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
>
>             while((number = bufferedReader.readLine()) != null){
>                 if(index == 0){
>                     numberofinput = number;
>                     iNumberOfInput = Integer.parseInt(numberofinput);
>                 }
>                 else{
>                     StringTokenizer tokenizer = new
> StringTokenizer(number);
>                     while(tokenizer.hasMoreTokens()){
>                         first = tokenizer.nextToken();
>                         second = tokenizer.nextToken();
>                         System.out.println("First: " + first + " Second: "
> + second);
>                         iFirst = Integer.parseInt(first);
>                         iSecond = Integer.parseInt(second);
>                     }
>                     System.out.println("Integer Version First: " + iFirst +
> " Second: " + iSecond);
>                     if(iFirst >= 1 && iSecond >= iFirst && iSecond <=
> 1000000000 && iSecond-iFirst <= 100000){
>
>                         for(int k = iFirst; k<=iSecond ; k++ ){
>                             if(k!=1){
>                                 boolean result = haveFactor(k);
>
>
> if(!result){
>                                     String sPrime = Integer.toString(k);
>                                     bufferedWriter.write(sPrime);
>                                     bufferedWriter.newLine();
>                                 }
>                                 iFirst++;
>                             }
>                         }
>                     }
>                     else{
>                         System.out.println("Input Error Occured: m and n
> are not in the specified Range");
>                     }
>                 }
>                 index++;
>                 bufferedWriter.newLine();
>             }
>             bufferedWriter.flush();
>             bufferedWriter.close();
>         }
>         catch(IOException iox){
>             iox.printStackTrace();
>         }
>
>     }
>
>     public static void main(String[] args) {
>         // TODO code application logic here
>         Prime object = new Prime();
>         object.Operation();
>         //boolean bHave = object.haveFactor(7);
>         //System.out.println("The output of the Factor function is: " +
> bHave);
>     }
> }
>
>
>
> Sincerely,
> Tamanna
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
@ |3  # ! /\/ @ \./

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to