Prime numbers: Using other number systems

Basicaly our normal number system persists on a very basic sequence:

F(n) = F(n-1) + 1 with a fix basis (Binary, Decimal, Hexadecimal)

But it came to my mind that basicaly prime numbers does not match that criteria very well to identify the nature behind them. As many had tried a sequence in that number system can’t be easily found.

We are used to our Clocks – They have a number system which persists on a 10/60/60/24 system. To calculate in this kind of systems is quite a bit harder as we are used to it. The idea to get a better grip on primes is now to change our usual kind of number system:

For example Fibunacci-Sequence: to a basis of one number
creates: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 while every number is a change of basis

Dezimal/
Fibunacci
1 1 2 3 5
1 1
2 1 1
2 0 0 1
3 1 0 1
4 1 1 1
4 0 0 2
5 1 0 2
6 1 1 2
3 0 0 0 1

And so on.  As you see the system does not delivers an uniqueness of an normal number system does – the question i like to lock at is: How does a system like above reacts on prime numbers? – because i have the feeling as if the primes have some unique charaterstics in those kind of number systems. As i’m not a full-time mathematician, but i am really keen to discuss this here or via email: jrspam-prime@web-d….de because it looks to me as if nobody has ever thought of changing the number systems on behalf of the prime number problem. Follow up will come…

Prime numbers: Using other number systems

Auto – Kraftstoff und Energiekosten im Vergleich

Vorab: Die Rechnung hier ist ein bisschen in Milchmädchenmanier gemacht und hat keinen Anspruch auf Vollständigkeit. Sie soll eher eine Tendenz liefern. Ich persönlich glaube das sich die Energiekosten alle annähern werden und dann auf einem gemeinsamen Niveau relativ konstant bleiben können. Wer die Rechnungen etwas besser gestallten kann, sei frei und hinterlasse einen comment…

Folgende Formen von Energieträgern sind möglich

Ethanol oder Schnaps
Die Rechnung ist – wenns kein Benzin mehr gibt, kippen wir halt Fusel ins Auto: Aktueller Preis für nen billigen hochprozentigen:
~12 EUR
Kosten pro 100 Km bei einem durschn. Verbrauch von 5,5l/100km = 66 EUR/100km

Benzin
Preis/l ~ 1,52 EUR
Kosten pro 100 Km bei einem durschn. Verbrauch von 5,5l/100km = 8,36 EUR/100km

Super
Preis/l ~ 1,55 EUR
Kosten pro 100 Km bei einem durschn. Verbrauch von 5,5l/100km = 8,47 EUR/100km

Diesel
Preis/l ~ 1,49 EUR
Die Energiedichte von Diesel ist ggü. Benzin etwa 12% Besser wesegen hier der Verbrauch auf 4,76l gerechnet wird.
Kosten pro 100 Km bei einem durschn. Verbrauch von 4,76l/100km = 7,10EUR/100km

Autogas auch GPL (Gaz de Petrol) http://de.wikipedia.org/wiki/Autogas
Ein Benziner läßt sich umrüsten und verbraucht dann angeblich 15-25% mehr gegenüber den Benzinverbrauch. Sprich bei unserer kleinen Beispielrechnung wären das dann bei 25% mehrverbrauch 6,875l/100km. Der Preis/l von Autogas liegt etwa 70cent günstiger als Super:
also bei 0,85 EUR/l
Kosten pro 100 Km bei einem durschn. Verbrauch von 6,875l/100km = 5,84 EUR/100km

Erdgas auch CNG oder Natural gas vehicle (NGV)  http://de.wikipedia.org/wiki/Erdgas
Erdgas wird in Kg verkauft. Laut Wikipedia liegt der Energiegehalt von 1kg Erdgas bei 1,5l Benzin oder 1,33l Diesel.
Laut Wikipedia http://de.wikipedia.org/wiki/Erdgasfahrzeug liegt ein Vergleichbarer Preis etwa 60cent niedriger als Benzin.

Gehen wir von unserer Verbrauchrechnung oben aus dann ist 5,5l Durchschnittsverbrauch Diesel / 1,3 Energiedichte ggü. Diesel = 4,23Kg Erdgas. Bei einem Preis von 1,52 – 0,6 EUR = 0,92 EUR
Kosten pro 100 Km bei einem durschn. Verbrauch von 4,23Kg/100km = 3,89 EUR/100km

Strom
Strom und Elektrofahrzeuge gibt es nicht viele. Aber um trotzdem mal einen vergleich aufzumachen habe ich mich im Netz mal umgeschaut und mache jetzt eine NICHT-EXEMPLARISCHE(!) Rechnung auf. Ich habe ein Elektrofahrzeug gefunden das in seinen Baterien 58Kwh speichert und damit eine Reichweite von 250 – 350km schaffen kann. Bei 58/kwh / 350km * 100km ~ 16KwH/100km das heisst: bei einem Preis von ~ 0,1433 EUR/Kwh = 2,29 EUR/100km. Würde sich schon lohnen das umsteigen – Die Reichweite ist natürlich mieß und man müsste sich die Tankstelle nach Hause legen! Die Vergleichbarkeit zu oben den Zahlen ist natürlich nicht gegeben, weil das Auto ein Sportwagen war und damit etwas leichter. Aber die Tendenz ~3EUR/100km läßt sich ausmachen.

Wasserstoff
http://auto.pege.org/2004-opel-zafira/verbrauch.htm

Auch hier ist die Vergleichbarkeit schwierig. Der Zafira verbraucht 1,2kg Wasserstoff auf 100km – leider habe ich keine Preise für das Kg Wasserstoff gefunden.
http://www.energieportal24.de/wasserstoff_herstellung_herstellungskosten.php
:::
Am Flughafen München wird an der dortigen Tankstelle derzeit 1 l flüssiger Wasserstoff für 0,55 Euro angeboten, dies entspricht einem Benzinpreis von 2,- €/l (23 Cent/kWh). Ein Mittelklasse-Wagen würde ungefähr 24 l LH2 auf 100 km verbrauchen. Das entspricht Spritkosten von 12,- Euro/100km im Gegensatz zu 6,- Euro für Benzin (bei 6 l Benzin auf 100 km). Dieser Preis entspricht jedoch in keiner Weise dem Marktgeschehen, da er von den beteiligten Firmen subventioniert wird.
:::

Noch ein paar Links zur Thematik
http://www.bio-wasserstoff.de/h2/Buch/buch.html
http://wasserstoffwelt.richey-web.de/pkw.htm
http://www.dwv-info.de/
http://www.zeit.de/online/2008/26/elektroauto
Bis 2025 alle Benzinautos durch Elektrofahrtzeuge ersetzt

Auto – Kraftstoff und Energiekosten im Vergleich

ABAP — : Using Regex / Regular Expressions in a Pre-Netweaver Release

Actually the new SAP Releases (starting with Basis Release 6.40) support regexs in ABAP in REPLACE and SEARCH directives. But as there are so many Pre-Netweaver Releases as <= 6.20 you may want to use a regular expression or you have the need to do so. (I for myself have to use it quite often, as i loved it to use in perl and if you got the grip on it you don’t want to miss it). So for you poor guys – there is a opportunity to do so. Just use the build in Javascript-Engine. I now it’s quite awkward but faster as you may think. Just paste the following code into your application environment and build a class with a static method: Have Fun!
And for those of you ABAP-Coders and anybody who want to learn a bit good coding ( use REGEX!) – you found the right way to do so here

*Copyright (c) 2008, J.Rumpf, www.web-dreamer.de / BSD Licence
*All rights reserved.
*
*Redistribution and use in source and binary forms, with or without modification
*are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, th
* is list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of the owner nor the names of its contributors may be used
* to endorse or promote products derived from this software without specific
* prior written permission.
*
*THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
*ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
*WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
*DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
*DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
*SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
*CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
*OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
*OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*&———————————————————————*
*& Report ZREGEX
*&
*&———————————————————————*
REPORT zregex.
**(c) by J. Rumpf
* Defintion of ZTMATCH
*Matching-Table of part matches of brackets
TYPES:
BEGIN OF zlmatch,
comp TYPE string,
END OF zlmatch,
ztmatch TYPE TABLE OF zlmatch.
DATA source TYPE string.

* Defintion of Class in Report
* Important: Definitio has to be at the earliest point in your report!
CLASS z_tools DEFINITION.
PUBLIC SECTION.
* The Parameter definition of the Method has to be at the definition
* CLASS-METHODS means Static Method / instance Method
has to be declared as ”METHODS”
CLASS-METHODS regex
EXPORTING
lastindex TYPE i
leftcontext TYPE string
rightcontext TYPE string
index TYPE i
found TYPE boolean “boolean variable (X=true, -=false, space=unknown)
match TYPE ztmatch “For use with regular expressions
- the definition of table ZTMATCH see below.
return_value TYPE string
error_message TYPE string
CHANGING
searchstring TYPE string “string to be regex applicated
modifier TYPE string DEFAULT ” “/gims/
regex TYPE string DEFAULT ” “regular expression
.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
**********************************************************************
**Test on Regex
DATA return_value TYPE string.
DATA: match TYPE ztmatch, “Regex Table
wa_match like LINE OF match,
lastindex TYPE i, “as it says last occurence of match
leftcontext TYPE string,
rightcontext TYPE string,
index TYPE i,
searchstring TYPE string, “String to search in
modifier TYPE string,
regex TYPE string, “your Regex
found TYPE boolean,
error_message TYPE string.

regex = ‘b+(a)*(b+)’. “Example
searchstring = ‘abbbbabbaa’. “
modifier = ”.

CALL METHOD z_tools=>regex
IMPORTING
lastindex = lastindex
leftcontext = leftcontext
rightcontext = rightcontext
index = index
found = found
match = match
return_value = return_value
error_message = error_message
CHANGING
searchstring = searchstring
modifier = modifier
regex = regex.
WRITE / ‘Errormessage:’.
write / error_message.
WRITE / ‘Found:’.
WRITE / found.
WRITE / ‘MatchParts:’.
LOOP at match INTO wa_match.
WRITE / wa_match-comp.
ENDLOOP.
**********************************************************************
* IMPORTANT !!! Implementation has to be at END of your REPORT
**********************************************************************
CLASS z_tools IMPLEMENTATION.
* Implementation of Regex Method.
METHOD regex .
**(c) by J. Rumpf
DATA source TYPE string.

DATA js_processor TYPE REF TO cl_java_script.
js_processor = cl_java_script=>create( ).
**********************************************************************
*Start of JavaScript–>ABAP Mapping of Variables
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘regex’ “Variable in Javascript-Code
CHANGING
data = regex “Variable in Abap-Code
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ’searchstring’
CHANGING data = searchstring
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘modifier’
CHANGING data = modifier
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘index’
CHANGING
data = index
).
js_processor->bind(
EXPORTING
name_obj = ‘abap’
name_prop = ‘match’
CHANGING
data = match
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘lastindex’
CHANGING
data = lastindex
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘leftcontext’
CHANGING
data = leftcontext
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘rightcontext’
CHANGING
data = rightcontext
).
js_processor->bind(
EXPORTING
name_obj = ‘ ’
name_prop = ‘found’
CHANGING
data = found
).
**********************************************************************
DATA: wa LIKE LINE OF match. “wa = workarea of table ZTMATCH
wa-comp = ‘ ’.
APPEND wa TO match.
**********************************************************************
*JavaScript Code REGEX to evaluate/run later on.
CONCATENATE
‘var re = new RegExp(regex, modifier);’

‘var m = re.exec(searchstring);’
‘ if (m == null) {’
‘ found = false;’
‘ } else {’
‘ found = true; ’
‘ index = m.index;’
‘ lastindex = m.lastIndex;’
‘ leftcontext = m.leftContext;’
‘ rightcontext = m.righContext; ’
‘ var len = abap.match.length;’
‘ for (i = 0; i < m.length; i++) ’
‘{’
‘ abap.match[len-1].comp = m;’
‘ abap.match.appendLine();’
‘ len++;’
‘ }’
‘}’
INTO source SEPARATED BY cl_abap_char_utilities=>cr_lf.

return_value = js_processor->evaluate( source ). “ Call JavaScript
error_message = js_processor->last_error_message. “ Get Errormessages
ENDMETHOD. “REGEX
ENDCLASS. “z_tools IMPLEMENTATION

ABAP — : Using Regex / Regular Expressions in a Pre-Netweaver Release