Guest User

Untitled

a guest
Apr 10th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 1.16 KB | None | 0 0
  1. DATA: origparzelle(20)      TYPE n,
  2.       origkante(20)         TYPE n VALUE 2,
  3.       aufzuteilen(20)       TYPE n,
  4.       einzelparzelle(20)    TYPE n,
  5.       tmp(20)               TYPE n,
  6.       found                 TYPE i,
  7.       ls                    TYPE string.
  8.  
  9. PARAMETERS anzahl TYPE i.
  10.  
  11. WHILE found < anzahl.
  12.  
  13.   "Originalparzelle muss quadratisch sein
  14.   origkante    = origkante + 1.
  15.   origparzelle = origkante * origkante.
  16.  
  17.   "Die aufzuteilende Fläche finden
  18.   aufzuteilen  = origparzelle - 1. "Für Anwender
  19.   tmp = aufzuteilen MOD 10.        "Fläche muss sich auf 10 gleich
  20.   IF tmp <> 0.                     "große Stücke aufteilen lassen
  21.     CONTINUE.
  22.   ENDIF.
  23.   einzelparzelle = aufzuteilen / 10.
  24.  
  25.   "Mindestens eine Parzelle muss quadratisch sein
  26.   tmp = SQRT( einzelparzelle ).
  27.   tmp = tmp * tmp.
  28.   IF tmp <> einzelparzelle. "nicht quadratisch
  29.     CONTINUE.
  30.   ENDIF.
  31.  
  32.   found = found + 1.
  33.   WRITE: / 'Lösung:', found.
  34.   ls = origparzelle.
  35.   SHIFT ls LEFT DELETING LEADING '0'.
  36.   WRITE: / 'Originalparzelle = ', ls.
  37.   ls = origkante.
  38.   SHIFT ls LEFT DELETING LEADING '0'.
  39.   WRITE: / 'Kantenlänge      = ', ls.
  40.   ULINE.
  41.  
  42. ENDWHILE.
Add Comment
Please, Sign In to add comment