├── week2_algorithmic_warmup.pdf ├── main.cpp ├── main (4).cpp ├── main (2).cpp ├── main (6).cpp ├── main (5).cpp ├── main (3).cpp ├── main (7).cpp └── main (1).cpp /week2_algorithmic_warmup.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mustafa-Hassan2001/Coursera-DSA-Programming-Assignment-1-2/HEAD/week2_algorithmic_warmup.pdf -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int main(){ 4 | int a = 0, b = 0, sum = 0; 5 | cin >> a; 6 | cin >> b; 7 | sum = a + b; 8 | cout << sum; 9 | return 0; 10 | } -------------------------------------------------------------------------------- /main (4).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int gcd(int a, int b) { 4 | if (b == 0) 5 | return a; 6 | return gcd(b, a % b); 7 | } 8 | 9 | int main() { 10 | int a, b; 11 | std::cin >> a >> b; 12 | std::cout << gcd(a, b) << std::endl; 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /main (2).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int fibonacci_naive(int n) { 4 | if (n <= 1) 5 | return n; 6 | 7 | return fibonacci_naive(n - 1) + fibonacci_naive(n - 2); 8 | } 9 | 10 | int main() { 11 | int n; 12 | std::cin >> n; 13 | 14 | std::cout << fibonacci_naive(n) << std::endl; 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /main (6).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int gcd(int a, int b) { 6 | if (b == 0) { 7 | return a; 8 | } 9 | return gcd(b, a % b); 10 | } 11 | 12 | int lcm(int a, int b) { 13 | return (a * b) / gcd(a, b); 14 | } 15 | 16 | int main() { 17 | int a, b; 18 | cin >> a >> b; 19 | cout << lcm(a, b) << endl; 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /main (5).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int gcd(int a, int b) { 6 | if (b == 0) { 7 | return a; 8 | } 9 | return gcd(b, a % b); 10 | } 11 | 12 | int lcm(int a, int b) { 13 | return (a * b) / gcd(a, b); 14 | } 15 | 16 | int main() { 17 | int a, b; 18 | cin >> a >> b; 19 | cout << lcm(a, b) << endl; 20 | return 0; 21 | } 22 | 23 | -------------------------------------------------------------------------------- /main (3).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int get_fibonacci_last_digit(int n) { 7 | if (n <= 1) { 8 | return n; 9 | } 10 | 11 | vector fibonacci(n + 1); 12 | fibonacci[0] = 0; 13 | fibonacci[1] = 1; 14 | 15 | for (int i = 2; i <= n; i++) { 16 | fibonacci[i] = (fibonacci[i - 1] + fibonacci[i - 2]) % 10; 17 | } 18 | 19 | return fibonacci[n]; 20 | } 21 | 22 | int main() { 23 | 24 | -------------------------------------------------------------------------------- /main (7).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int fibonacci_sum_squares(long long n) { 5 | int a = 0, b = 1, sum = 0; 6 | for (int i = 0; i < 60; ++i) { 7 | int c = (a + b) % 10; 8 | a = b; 9 | b = c; 10 | if (i >= 30) { 11 | sum += (long long) c * c % 10; 12 | } 13 | } 14 | return sum % 10 * ((n / 60) % 10) % 10; 15 | } 16 | 17 | int main() { 18 | long long n; 19 | cin >> n; 20 | cout << fibonacci_sum_squares(n) << endl; 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /main (1).cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | 7 | long long MaxPairwiseProduct(vector &numbers) 8 | { 9 | int n = numbers.size(); 10 | sort(numbers.begin(), numbers.end()); 11 | return numbers[n - 1] * numbers[n - 2]; 12 | } 13 | 14 | int main() 15 | { 16 | int n; 17 | cin >> n; 18 | vector numbers(n); 19 | for (int i = 0; i < n; ++i) 20 | { 21 | cin >> numbers[i]; 22 | } 23 | 24 | long long result = MaxPairwiseProduct(numbers); 25 | cout << result << endl; 26 | return 0; 27 | } 28 | --------------------------------------------------------------------------------