-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathproblem008.c
44 lines (38 loc) · 1.67 KB
/
problem008.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
Copyright (c) Mark 100. All rights reserved.
URL:
Author: General Ming
*/
/*
Time: real 0m0.002s
user 0m0.002s
sys 0m0.000s
*/
/*
As far as I know, there is no other way to solve this problem
other than the bruteforce method of iterating through the given number
and the checking the product individually and then evaluating the greatest
product
*/
#include<stdio.h>
#include<stdlib.h>
int digit(char c)
{
return c - '0';
}
int main()
{
char str[] = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";
int n = 1001;
long long int max = 0, prod = 1;
for(int i = 0; i < n-14; i++)
{
for(int j = 0; j < 13; j++)
prod = prod * digit(str[i + j]);
if(prod > max)
max = prod;
prod = 1;
}
printf("%lld\n", max);
return 0;
}