Hirdetés

Új hozzászólás Aktív témák

  • gaben

    aktív tag

    Sziasztok!
    Lenne, egy olyan problémám, hogy ciklusból nem lép ki a program, és nem tudom ,miért. C-ben megírva működik, de java-ban nem lép ki valamiért. És már az agyvérzés kerülget, hogy nem tudom mi a hiba.... :D. Szóval lefordul, szintaktikai hiba nincs, de nem lép ki a ciklusból valamiért. :S
    Kód java:
    Public ......{
    BigInteger n=ew BigInteger("0");
    final BigInteger c=new BigInteger("1");
    final BigInteger egy=new BigInteger("1");
    final BigInteger nulla=new BigInteger("0");
    final BigInteger ketto=new BigInteger("1");
    BigInteger reszer= new BigInteger("0");
    BigInteger reszer2= new BigInteger("0");
    BigInteger reszer3= new BigInteger("0");

    long kitevo=0;
    long s=0;
    BigInteger[] tanuk = new BigInteger[40];

    //keressuk s-t
    n=szam.subtract(c);
    System.out.println("n-1 erteke: "+n);

    while(true){
    reszer=ketto.pow((int)kitevo);
    reszer2=n.mod(reszer);
    reszer3=n.divide(reszer);

    if(reszer2.compareTo(nulla)==0 && reszer3.mod(ketto).compareTo(nulla)==0){
    kitevo=kitevo+1;
    s=kitevo;
    System.out.println("S erteke: "+s);
    }
    else{
    break;

    }

    }
    } //metodus vege

    C-ben:
    int n=561;
    int n2=n-1;
    int kitevo=0;
    int s=0;
    int reszer=0;
    int reszer2=0;
    int reszer3=0;

    while(1){
    reszer=pow(2,kitevo);
    reszer2=n2%reszer;
    reszer3=n2/reszer;

    if(reszer2==0 && reszer3%2==0){
    kitevo=kitevo+1;
    s=kitevo;
    }
    else{
    break;
    }
    }

    [ Szerkesztve ]

Új hozzászólás Aktív témák