From f8b013016501dcebb83407ee07a187e328269adf Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 18 Jul 2022 20:43:14 -0500 Subject: [PATCH] Setup mult() Co-authored-by: sigonasr2 --- current | Bin 17016 -> 16312 bytes src/main.c | 87 +++++++--------------------------------------------- src/utils.c | 20 ++++++++++++ src/utils.h | 1 + 4 files changed, 32 insertions(+), 76 deletions(-) diff --git a/current b/current index e2467db1833285140d45ccbf1f85665db2b14ae6..1d5f75ee114897cd129629d35aa705a79e74ae19 100755 GIT binary patch literal 16312 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 diff --git a/src/main.c b/src/main.c index 74ce739..0015431 100644 --- a/src/main.c +++ b/src/main.c @@ -2,88 +2,23 @@ #include "utils.h" /* - You are given the following information, but you may prefer to do some research for yourself. + n! means n × (n − 1) × ... × 3 × 2 × 1 - 1 Jan 1900 was a Monday. - Thirty days has September, - April, June and November. - All the rest have thirty-one, - Saving February alone, - Which has twenty-eight, rain or shine. - And on leap years, twenty-nine. - A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400. - How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)? + For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800, + and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27. - https://projecteuler.net/problem=19 -*/ - -enum Month {JANUARY=1,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER}; + Find the sum of the digits in the number 100! -int DaysInMonth(enum Month month,int year) { - switch (month) { - case JANUARY: - case MARCH: - case MAY: - case JULY: - case AUGUST: - case OCTOBER: - case DECEMBER:{ - return 31; - }break; - case APRIL: - case JUNE: - case SEPTEMBER: - case NOVEMBER:{ - return 30; - }break; - case FEBRUARY:{ - return ((year%100==0)&&(year%400!=0))?28:(year%4==0)?29:28; - }break; - } -} + https://projecteuler.net/problem=20 +*/ int main(int argc,char**argv) { - int day=1; - enum Month month=1; - int year=1900; - enum Weekday{ - SUNDAY, - MONDAY, - TUESDAY, - WEDNESDAY, - THURSDAY, - FRIDAY, - SATURDAY, - } weekday=MONDAY; - - int sundayCount=0; - - while((day!=31)||(month!=12)||(year!=2000)) { - printf("Date: %d/%d/%d\n",month,day,year); - if (year>=1901) { - //Start counting Sundays. - if (weekday==SUNDAY&&day==1) { - sundayCount++; - } - } - //Increment the day. - if (day+1<=DaysInMonth(month,year)) { - day++; - } else - if (month+1<=12){ - //It's a new month. - month++; - day=1; - } else { - //It's a new year! - year++; - day=1; - month=1; - //printf("The year is now %d...\n",year); - } - weekday=((weekday+1)<=SATURDAY)?weekday+1:SUNDAY; + struct String factorialSum = {1,"0"}; + int counter=1; + mult((struct String){3,"575"},(struct String){4,"4200"}); + while (counter<=100) { + counter++; } - printf("\n\n%d Sundays were on the 1st of the month.",sundayCount); return 0; } \ No newline at end of file diff --git a/src/utils.c b/src/utils.c index 90b55a9..c62e862 100644 --- a/src/utils.c +++ b/src/utils.c @@ -2,6 +2,26 @@ #include #include +struct String mult(struct String numb1, struct String numb2) { + struct String n1 = numb1; + struct String n2 = numb2; + byte carryover = -1; + if (numb2.length>numb1.length) { + n1=numb2; + n2=numb1; + } + int addends[n2.length][n1.length+1]; + for (int i=0;i=0;i--) { + + } +} + struct String add(struct String numb1, struct String numb2){ byte carryover=0; int digitCount=0; diff --git a/src/utils.h b/src/utils.h index 4920b41..6e6c014 100644 --- a/src/utils.h +++ b/src/utils.h @@ -7,5 +7,6 @@ struct String{ char*str; }; struct String add(struct String numb1, struct String numb2); +struct String mult(struct String numb1, struct String numb2); void printLongDoubleArr(int a,int b,long doubleArr[a][b]); void printIntDoubleArr(int a,int b,int doubleArr[a][b]); \ No newline at end of file