00001 #include <stdlib.h>
00002 #include <math.h>
00003 #include <stdio.h>
00004
00005 #define NMAX 1000000
00006
00007 int main(void)
00008 {
00009 int *a, sp;
00010 double b[10], sum1, sum2;
00011 int i;
00012
00013 a = (int *) malloc(sizeof(int)*NMAX);
00014 for(i=0;i<NMAX;i++)
00015 {
00016 a[i] = (int) floor(drand48()*4);
00017 }
00018
00019 b[0] = 1.0; b[1] = 2.0; b[3] = -3.0; b[4] = 4.0;
00020
00021 sum1 = 0;
00022 for(i=0;i<NMAX;i++)
00023 {
00024 sum1 += b[a[i]] * b[a[i]];
00025 }
00026 printf("sum1 = %20.12e\n",sum1);
00027
00028 sum2 = 0;
00029 for(i=0;i<NMAX;i++)
00030 {
00031 sp = a[i];
00032 sum2 += b[sp] * b[sp];
00033 }
00034 printf("sum2 = %20.12e\n",sum2);
00035
00036 if(sum1==sum2) return 0;
00037 else return 1;
00038 }
00039