Avatar billede tblaster Nybegynder
25. august 2003 - 10:59 Der er 6 kommentarer og
1 løsning

Kode skal ændres til asp kode

Er der nogen der kan konvertere denne web aplication til asp kode så den kan køre som en ganske almindelig asp kode?

-----------------------------------------------------------

x=0
y=0
m=1

params=`echo $QUERY_STRING | tr '&' ' '`
for param in $params
do
    case $param in
        x=*) x=`echo $param | sed 's/^x=//'` ;;
        y=*) y=`echo $param | sed 's/^y=//'` ;;
        m=*) m=`echo $param | sed 's/^m=//'` ;;
    esac
done

export BC_LINE_LENGTH=2147483647
# use bc for arbitrary precision
n=`bc -q << EOF

x=$x
y=$y
m=$m

if (x < 0)
  halt
if (y < 0)
  halt
if (m < 2)
  halt

n=1;  /* we multiply this by stuff and eventually return it */
a=x;  /* x^(2^j) */
b=y;  /* we divide this by 2 and look at the last bit repeatedly */

while (b > 0)
  {
    /* if this bit is set in the binary representation */
    if (b % 2 == 1)
      n = (n * a) % m; 

    a = (a * a) % m;
    b /= 2;
  }

print n
quit

EOF
2>&1`


echo -n -e "Content-Type: text/html; charset=utf-8\r\n\r\n"

cat <<EOF

<html lang="en" xml:lang="en">

<head>
<title>Modulo M Calculator</title>
<style type="text/css">
  sup { vertical-align: top; font-size: 60%; }
</style>
</head>

<body>
<h1>Modulo M Calculator</h1>
<h2>calculates x<sup>y</sup> mod m</h2>

<form action="$SCRIPT_NAME" method="get">
<p><big>x = <input type="text" name="x"/></big></p>
<p><big>y = <input type="text" name="y"/></big></p>
<p><big>m = <input type="text" name="m"/></big></p>
<p><input type="submit" value="calculate"/></p>
</form>

EOF


if [ "X$n" != "X" ]
then
    echo "<hr/>"
    echo "<h2>the answer is $n</h2>"
    echo "<p><big>$x<sup>$y</sup> &equiv; $n mod $m</big></p>"
    echo "<p>for the impaired browser: <tt>$x^$y = $n mod $m</tt></p>"
elif [ "X$QUERY_STRING" != "X" ]
then
    echo "<hr/>"
    echo "<p>invalid input</p>"
fi

echo "<hr/>"
echo "</body>"
echo "</html>"
Avatar billede erikjacobsen Ekspert
25. august 2003 - 11:30 #1
Ikke uden programmet "bc" som er en unix-standard-regnemaskine
for lange tal.
Avatar billede tblaster Nybegynder
25. august 2003 - 12:24 #2
Men er det så muligt at køre koden i asp og så have bc liggende sammen med hjemmesiden så koden kan benytte bc til udførelse af koden?
Avatar billede erikjacobsen Ekspert
25. august 2003 - 13:44 #3
Så skal du finde en Windows udgave af "bc" - som sikkert er lavet.
Og du skal kunne afvikle "bc.exe" fra ASP.

Men - hvad er det lige du skal bruge det til? :)
Avatar billede tblaster Nybegynder
26. august 2003 - 08:08 #4
Overstående skal bruges til at udregne følgende tal:

M^E mod N

Hvor tallens størrelse er i stil med følgende:
M = 2000
E = 25
N = 3000

Problemet er at hvis jeg bare køre regnestykket i asp så får jeg overflow, derfor ville jeg gøre det med overstående som jeg har fundet. Men hvis bare jeg kan få gjort så jeg kan udregne overstående så er det fint nok men der skal nok kaldes et program eller noget der kan arbejde med tal af størrelses orden 10^100

Er der nogen der ved om bc findes i en windows udgave?
Avatar billede erikjacobsen Ekspert
26. august 2003 - 08:48 #5
Det kan man sikkert. Hvor har du ledt?

Men hvorfor skal det være på en webside. Hvis du får "bc" til Windows, er
det så ikke nok?
Avatar billede tblaster Nybegynder
27. august 2003 - 08:15 #6
Jo det er nok men jeg skal jo kunne udføre de regneoperationer via en internet side!

Jeg har prøvet at søge efter bc i google men ikke fundet et sted hvor programmet kan hentes.
Avatar billede tblaster Nybegynder
12. september 2003 - 10:51 #7
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester