I made a harvester of 3 programs:
Code:
#include <stdio.h>
#include <time.h>
#include <string.h>
#define SIZE 8
#define MAX1 100000
#define MAX2 100000
#define MAX3 100000
int main()
{
int start=time(NULL);
for(int num=0; num<MAX1;++num)
{
printf("Generator 1: ");
printf("%08d\n", num);
}
int end=time(NULL);
int result1=end-start;
start=time(NULL);
char str[11];
double num=0;
for(int i=0; i<=MAX2; i++)
{
snprintf(str, 11, "%.8f", num);
for(int a=2; a<=10; a++)
putchar(str[a]);
putchar('\n');
printf("Generator 2: ");
num+=0.00000001;
}
end=time(NULL);
int result2=end-start;
start=time(NULL);
char s[SIZE+1] = {0};
memset(s, '0', SIZE);
int cnt=0;
for (;;) {
fputs(s, stdout);
putchar('\n');
printf("Generator 3: ");
int i = SIZE - 1;
while (i >= 0 && s[i] == '9')
s[i--] = '0';
if (cnt > MAX3)
break;
s[i]++;
cnt++;
}
end=time(NULL);
int result3=end-start;
printf("\n\nGenerator 1: %d seconds\n", result1);
printf("Generator 2: %d seconds\n", result3);
printf("Generator 3: %d seconds\n", result3);
}
Performance gave me the following results:
Generator 1: 8 seconds
Generator 1: 7 seconds
Generator 1: 7 seconds
The following code is available:
Code:
#include <stdio.h>
#include <time.h>
#include <string.h>
#define SIZE 8
#define MAX1 99999999
#define MAX2 99999999
#define MAX3 99999999
int main()
{
int start=time(NULL);
for(int num=0; num<MAX1;++num)
{
printf("Generator 1: ");
printf("%08d\n", num);
}
int end=time(NULL);
int result1=end-start;
start=time(NULL);
char str[11];
double num=0;
for(int i=0; i<=MAX2; i++)
{
snprintf(str, 11, "%.8f", num);
for(int a=2; a<=10; a++)
putchar(str[a]);
putchar('\n');
printf("Generator 2: ");
num+=0.00000001;
}
end=time(NULL);
int result2=end-start;
start=time(NULL);
char s[SIZE+1] = {0};
memset(s, '0', SIZE);
int cnt=0;
for (;;) {
fputs(s, stdout);
putchar('\n');
printf("Generator 3: ");
int i = SIZE - 1;
while (i >= 0 && s[i] == '9')
s[i--] = '0';
if (cnt > MAX3)
break;
s[i]++;
cnt++;
}
end=time(NULL);
int result3=end-start;
printf("\n\nGenerator 1: %d seconds\n", result1);
printf("Generator 2: %d seconds\n", result3);
printf("Generator 3: %d seconds\n", result3);
}
Who can execute this code and report the results?