Announcement

Collapse
No announcement yet.

Teilerfremd

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Teilerfremd

    Hallo,
    Ich verzweifel grade an einer Funktion in die man 3 Zahlen übergibt und alle möglichenTeilerfremden Zahlen zu diesen 3 Zahlen in einem String zurückbekommt.
    Vlt habt ihr eine Idee
    Ich sitze jetz schon seit knapp 5 stunden dran und habe erkannt das ich hilfe brauche
    Mfg Impi

  • #2
    Hallo und willkommen,

    was hast Du denn bisher schon erreicht? Dein Problem besteht doch wohl aus mindestens drei Teilen: Rumpf einer Methode mit 3 Input- und 1 Output-Variablen, die Suche und Registrierung der Zahlen, das Zusammensetzen der Zahlen in einen String. Was davon kannst Du, wo hängst Du?

    Für die Zwischenspeicherung der Zahlen empfehle ich List of Int.

    Zur Ausgabe in einen String gibt es mehrere Möglichkeiten, darunter String.Join. Du kommst aber nicht darum herum, jede Zahl in einen String zu konvertieren.

    Gruß Jürgen

    Comment


    • #3
      Hallo,
      Ich habe bis jetz einen Funktionierenden Python Code aber ich kann diesen nicht einfach übernehmen da mir das break statment in Vb.net fehlt...

      if Teilerfremd(a,public_fi)==1 and a!=p and a!=q:
      print a,
      if a==1000:
      break
      a+=1


      in VB.net siehts leider erst so aus

      Private Function pubKey_e(ByRef teilerfremd, ByVal primFI, ByVal primOne, ByVal primTwo) As Integer

      If Then

      End If

      End Function
      Zuletzt editiert von Impi; 25.07.2008, 18:43.

      Comment


      • #4
        Exit Do sollte es sein
        Christian

        Comment


        • #5
          Habe noch ein bissel dran rumgeschraubt habe aber ein problem eine for schleife zählt nicht und somit klappt die ganze funktion nicht bitte um hilfe
          Code:
          Private Function pubKey_e(ByVal teiler, ByVal primFI, ByVal primOne, ByVal primTwo)
                  For c As Integer = 1 To 1000
          
                      If Teilerfremd(teiler, primFI) = 1 And teiler <> primOne And teiler <> primTwo Then
                          Console.Write(teiler)
                      End If
                  Next c
              End Function
          
              Private Function Teilerfremd(ByVal teiler, ByVal primFI)
                  For counter As Integer = 1 To primFI
          
                      If (teiler Mod counter) = (primFI Mod counter = 0) Then
                          Return 0
                      Else
                          Return 1
                      End If
                  Next counter
              End Function
          Die zweite Schleife zählt nicht ?? ka warum

          Comment


          • #6
            Hallo,

            ich habe keine genaue Ahnung von VB.NET, kann mich deshalb irren. Unter C# löst return die sofortige Rückkehr aus der Methode aus. Wenn das bei VB.NET genauso ist, dann wird die if-Abfrage im ersten Durchgang erreicht; im if-Zweig gibt es "return 0", im else-Zweig "return 1" - und sofort wird die Schleife verlassen.

            Wenn ich mit return recht habe, musst Du die if-Abfrage oder die return-Anweisung ändern. Wenn ich unrecht habe, dann vergiss meinen Hinweis. Jürgen

            Comment


            • #7
              Hallo,

              Jürgen hat Recht, der Return verlässt sofort die Funktion d.h. Du hast bei jedem ersten Durchlauf schon Dein Ergebnis 0 oder 1 je nach dem was bei den erfassten Werten zuerst zurückkommt.

              Es fehlt übrigens die Zeile teiler = c (oder Du solltest in der IF Bedingung teiler durch c ersetzen) sonst geht die Funktion immer mit den gleichen Parametern auf die Reise

              Was genau sollte z.B. das Ergebnis der Funktion Teilerfremd sein wenn man die Parameter 3 und 8 benutzt? Soll dann nur der erste Treffer (Return 1) oder alle Treffer die (Return 1) liefern würden?

              Schreib doch mal Dein erwartetes Ergebnis vielleicht kann Dir dann einer helfen. Oder häng mal den Python Code der Funktion Teilerfremd an evtl. kann da jemand was rauslesen.

              Gruß Womble

              Comment

              Working...
              X