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 <math.h>
|
||||
|
||||
#define DEFAULT_FILE "input.txt"
|
||||
#define DEFAULT_FILE "input3.txt"
|
||||
#define STRBUF_LEN 200
|
||||
#define ISDIGIT(X) (X >= '0' && X <= '9')
|
||||
|
||||
#define NUM_RACES 4
|
||||
#define NUM_RACES 1
|
||||
|
||||
uint64_t parse_num(char *str)
|
||||
{
|
||||
@@ -21,9 +21,9 @@ uint64_t parse_num(char *str)
|
||||
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++)
|
||||
{
|
||||
@@ -72,9 +72,9 @@ int main(int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint16_t times[NUM_RACES] = {0};
|
||||
uint16_t dists[NUM_RACES] = {0};
|
||||
uint16_t results[NUM_RACES] = {0};
|
||||
uint64_t times[NUM_RACES] = {0};
|
||||
uint64_t dists[NUM_RACES] = {0};
|
||||
uint64_t results[NUM_RACES] = {0};
|
||||
|
||||
fgets(strbuf, STRBUF_LEN, file);
|
||||
parse_line(strbuf, times);
|
||||
@@ -82,7 +82,7 @@ int main(int argc, char **argv)
|
||||
fgets(strbuf, STRBUF_LEN, file);
|
||||
parse_line(strbuf, dists);
|
||||
|
||||
uint16_t i = 0;
|
||||
uint64_t i = 0;
|
||||
uint64_t multiplied = 1;
|
||||
|
||||
for (i = 0; i < NUM_RACES; i++)
|
||||
@@ -96,7 +96,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
results[i] = res2 - res1 + 1;
|
||||
printf("%d ", results[i]);
|
||||
printf("%lu ", 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