linux build
This commit is contained in:
parent
6b06024058
commit
2329ed370e
12
Microsoft C v1/m.sh
Normal file
12
Microsoft C v1/m.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
str=$(tr '[a-z]' '[A-Z]' <<< $1)
|
||||||
|
|
||||||
|
rm $str.OBJ 2>/dev/null
|
||||||
|
rm $str.MAP 2>/dev/null
|
||||||
|
rm $str.EXE 2>/dev/null
|
||||||
|
|
||||||
|
ntvdm -r:. -u mc1 $str
|
||||||
|
ntvdm -r:. -u mc2 $str
|
||||||
|
ntvdm -r:. -u link $str + c + gettm,, $str.map, mc
|
||||||
|
|
||||||
|
rm $str.OBJ 2>/dev/null
|
||||||
|
rm $str.MAP 2>/dev/null
|
@ -1,99 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
/*
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __max
|
|
||||||
#define __max( a, b ) (a) > (b) ? a : b
|
|
||||||
#define __min( a, b ) (a) < (b) ? a : b
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef /*unsigned*/ long ulong;
|
|
||||||
|
|
||||||
ulong gcd( m, n ) ulong m, n;
|
|
||||||
{
|
|
||||||
ulong a = 0;
|
|
||||||
ulong b = __max( m, n );
|
|
||||||
ulong r = __min( m, n );
|
|
||||||
|
|
||||||
while ( 0 != r )
|
|
||||||
{
|
|
||||||
a = b;
|
|
||||||
b = r;
|
|
||||||
r = a % b;
|
|
||||||
}
|
|
||||||
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
ulong randi()
|
|
||||||
{
|
|
||||||
return (ulong) rand() | ( ( (ulong) rand() ) << 16 );
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* https://en.wikipedia.org/wiki/Ap%C3%A9ry%27s_theorem */
|
|
||||||
|
|
||||||
int first_implementation()
|
|
||||||
{
|
|
||||||
ulong total = 1000;
|
|
||||||
ulong i, iq;
|
|
||||||
double sofar = 0.0;
|
|
||||||
ulong prev = 1;
|
|
||||||
|
|
||||||
for ( i = 1; i <= total; i++ )
|
|
||||||
{
|
|
||||||
iq = i * i * i;
|
|
||||||
sofar += (double) 1.0 / (double) ( iq );
|
|
||||||
/*printf( "i, iq, and sofar: %lu, %lu, %lf\n", i, iq, sofar );*/
|
|
||||||
|
|
||||||
if ( i == ( prev * 10 ) )
|
|
||||||
{
|
|
||||||
prev = i;
|
|
||||||
printf( " at %12lu iterations: %lf\n", i, sofar );
|
|
||||||
fflush( stdout );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
ulong totalEntries = 100000;
|
|
||||||
ulong i, prev, totalCoprimes, greatest, a, b, c;
|
|
||||||
|
|
||||||
printf( "starting, should tend towards 1.2020569031595942854...\n" );
|
|
||||||
|
|
||||||
printf( "first implementation...\n" );
|
|
||||||
first_implementation();
|
|
||||||
|
|
||||||
/* no rand
|
|
||||||
printf( "second implementation...\n" );
|
|
||||||
|
|
||||||
|
|
||||||
totalCoprimes = 0;
|
|
||||||
prev = 1;
|
|
||||||
|
|
||||||
for ( i = 1; i <= totalEntries; i++ )
|
|
||||||
{
|
|
||||||
a = randi();
|
|
||||||
b = randi();
|
|
||||||
c = randi();
|
|
||||||
|
|
||||||
greatest = gcd( a, gcd( b, c ) );
|
|
||||||
if ( 1 == greatest )
|
|
||||||
totalCoprimes++;
|
|
||||||
|
|
||||||
if ( i == ( prev * 10 ) )
|
|
||||||
{
|
|
||||||
prev = i;
|
|
||||||
printf( " at %12lu iterations: %lf\n", i, (double) i / (double) totalCoprimes );
|
|
||||||
fflush( stdout );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
printf( "done\n" );
|
|
||||||
return 1202;
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#define HIGH_MARK 500 /* 2800 */
|
|
||||||
|
|
||||||
static long r[HIGH_MARK + 1];
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
long i, k, c;
|
|
||||||
long b, d;
|
|
||||||
long iter;
|
|
||||||
|
|
||||||
int iterations = 1;
|
|
||||||
|
|
||||||
for ( iter = 0; iter < iterations; iter++ ) {
|
|
||||||
c = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < HIGH_MARK; i++) {
|
|
||||||
r[i] = 2000;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (k = HIGH_MARK; k > 0; k -= 14) {
|
|
||||||
d = 0;
|
|
||||||
|
|
||||||
i = k;
|
|
||||||
for (;;) {
|
|
||||||
d += r[i] * 10000;
|
|
||||||
b = 2 * i - 1;
|
|
||||||
|
|
||||||
r[i] = d % b;
|
|
||||||
d /= b;
|
|
||||||
i--;
|
|
||||||
if (i == 0) break;
|
|
||||||
d *= i;
|
|
||||||
}
|
|
||||||
if ( iter == ( iterations - 1 ) )
|
|
||||||
{
|
|
||||||
printf( "%.4d", c + d / 10000 );
|
|
||||||
fflush( stdout );
|
|
||||||
}
|
|
||||||
c = d % 10000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf( "\n" );
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user