Computer Science, asked by annahajaveedmir31, 3 months ago

Write a program to accept 10 numbers. Print the product of numbers which are divisible by 11.

Answers

Answered by ratt9638
0

Answer:

22,33,11,44,55,66,77,88,99,110,

Answered by Ompravassahoo
0

Explanation:

Input : n = 76945

Output : Yes

Input : n = 1234567589333892

Output : Yes

Input : n = 363588395960667043875487

Output : No

Recommended: Please solve it on “PRACTICE” first, before moving on to the solution.

Since input number may be very large, we cannot use n % 11 to check if a number is divisible by 11 or not, especially in languages like C/C++. The idea is based on following fact.

A number is divisible by 11 if difference of following two is divisible by 11.

Sum of digits at odd places.

Sum of digits at even places.

Illustration:

For example, let us consider 76945

Sum of digits at odd places : 7 + 9 + 5

Sum of digits at even places : 6 + 4

Difference of two sums = 21 - 10 = 11

Since difference is divisible by 11, the

number 7945 is divisible by 11.

How does this work?

Let us consider 7694, we can write it as

7694 = 7*1000 + 6*100 + 9*10 + 4

The proof is based on below observation:

Remainder of 10i divided by 11 is 1 if i is even

Remainder of 10i divided by 11 is -1 if i is odd

So the powers of 10 only result in values either 1

or -1.

Remainder of "7*1000 + 6*100 + 9*10 + 4"

divided by 11 can be written as :

7*(-1) + 6*1 + 9*(-1) + 4*1

The above expression is basically difference

between sum of even digits and odd digits.

Below is implementation of above fact :

// C++ program to find if a number is divisible by

// 11 or not

#include<bits/stdc++.h>

using namespace std;

// Function to find that number divisible by 11 or not

int check(string str)

{

int n = str.length();

// Compute sum of even and odd digit

// sums

int oddDigSum = 0, evenDigSum = 0;

for (int i=0; i<n; i++)

{

// When i is even, position of digit is odd

if (i%2 == 0)

oddDigSum += (str[i]-'0');

else

evenDigSum += (str[i]-'0');

}

// Check its difference is divisible by 11 or not

return ((oddDigSum - evenDigSum) % 11 == 0);

}

// Driver code

int main()

{

string

Similar questions