Convert to larger integers
This file now solves Part 2
This commit is contained in:
18
06/06.c
18
06/06.c
@@ -4,11 +4,11 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#define DEFAULT_FILE "input.txt"
|
#define DEFAULT_FILE "input3.txt"
|
||||||
#define STRBUF_LEN 200
|
#define STRBUF_LEN 200
|
||||||
#define ISDIGIT(X) (X >= '0' && X <= '9')
|
#define ISDIGIT(X) (X >= '0' && X <= '9')
|
||||||
|
|
||||||
#define NUM_RACES 4
|
#define NUM_RACES 1
|
||||||
|
|
||||||
uint64_t parse_num(char *str)
|
uint64_t parse_num(char *str)
|
||||||
{
|
{
|
||||||
@@ -21,9 +21,9 @@ uint64_t parse_num(char *str)
|
|||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
void parse_line(char *str, uint16_t *nums)
|
void parse_line(char *str, uint64_t *nums)
|
||||||
{
|
{
|
||||||
uint16_t race = 0;
|
uint64_t race = 0;
|
||||||
|
|
||||||
for (race = 0; race < NUM_RACES; race++)
|
for (race = 0; race < NUM_RACES; race++)
|
||||||
{
|
{
|
||||||
@@ -72,9 +72,9 @@ int main(int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t times[NUM_RACES] = {0};
|
uint64_t times[NUM_RACES] = {0};
|
||||||
uint16_t dists[NUM_RACES] = {0};
|
uint64_t dists[NUM_RACES] = {0};
|
||||||
uint16_t results[NUM_RACES] = {0};
|
uint64_t results[NUM_RACES] = {0};
|
||||||
|
|
||||||
fgets(strbuf, STRBUF_LEN, file);
|
fgets(strbuf, STRBUF_LEN, file);
|
||||||
parse_line(strbuf, times);
|
parse_line(strbuf, times);
|
||||||
@@ -82,7 +82,7 @@ int main(int argc, char **argv)
|
|||||||
fgets(strbuf, STRBUF_LEN, file);
|
fgets(strbuf, STRBUF_LEN, file);
|
||||||
parse_line(strbuf, dists);
|
parse_line(strbuf, dists);
|
||||||
|
|
||||||
uint16_t i = 0;
|
uint64_t i = 0;
|
||||||
uint64_t multiplied = 1;
|
uint64_t multiplied = 1;
|
||||||
|
|
||||||
for (i = 0; i < NUM_RACES; i++)
|
for (i = 0; i < NUM_RACES; i++)
|
||||||
@@ -96,7 +96,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
results[i] = res2 - res1 + 1;
|
results[i] = res2 - res1 + 1;
|
||||||
printf("%d ", results[i]);
|
printf("%lu ", results[i]);
|
||||||
multiplied *= results[i];
|
multiplied *= results[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
06/input3.txt
Normal file
2
06/input3.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Time: 50748685
|
||||||
|
Distance: 242101716911252
|
||||||
Reference in New Issue
Block a user