Check the results of CsCode Programming Contest 3,* click here*.

**Contest pattern:** 2 Programming Questions and 5 MCQ’s.

Contest was organised by** @Computer_Science_Engineering** .

## Answers of MCQ questions

**1)**

**What will be the output of above C program?**

**Choices**

- 123
- 1
- 321123 Correct answer
- 32123

**2)**

Above code defines which concept?

Choices

- Iteration
- Simple function call
- Recursion Correct answer
- Conditional Statement

**3)**

What is the time complexity of code below?

Choices

- O(n)
- O(200)
- O(n-200)
- O(1) Correct answer

**Check this post for explanation**

**4)**

Tailed recursive functions are slower than non-tailed recursive functions.

Above statement is correct or incorrect?

Choices

- Correct
- Incorrect Correct answer

**Check following post for explanation.**

**5)**

Choose the correct output

Choices

- Error Correct answer
- 4
- 3
- 2

**Hint:**

## Solutions of Programming Questions

### 1) Perfect Number

**Problem statement**

Write a program to check whether the given number is a perfect number or not. The program should print 1 if the number is a perfect number, else it should print 0.

Hint: Perfect number is a positive whole number that is equal to the sum of its proper divisors.

The first perfect number is 6 as the sum of its proper positive divisors, 1,2 and 3 is 6. Other perfect numbers are 28, 496 and so on.

**Input Format:**

First line of input contains T test cases.

For each test case,

a positive integer on new line

**Output:**

Display 1 if number is perfect else 0 for each numbes on new line.

**Constraints:**

```
1 <= T <= 1000
1<= Number <= 100000
```

**Solution**:

def check_perfect_number(number): if number == 1: return False sum_ = 1 for i in range(2, number//2+2): if number%i == 0: sum_ += i if sum_ == number: return True return False for _ in range(int(input())): number = int(input()) if check_perfect_number(number): print(1) else: print(0)

def isPerfect(n): s = 1 i = 2 while i*i <= n: if(n % i ==0): if n//i == i: s = s+i else: s = s + i + n//i i += 1 return (1 if s == n and n!=1 else 0) for i in range(int(input())): n = int(input()) if isPerfect(n): print(1) else: print(0)

// By kamesh upmanyu #include<bits/stdc++.h> using namespace std; bool check(int n) { if(n==1||n==0) return 0; int res=0; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { if(i==(n/i)) res+=i; else res+=(i+(n/i)); } } if(res+1==n) return 1; return 0; } int main() { int t,n; cin>>t; while(t--) { cin>>n; cout<<check(n)<<"\n"; } }

### 2) Special Sequence – Count Numbers

**Problem statement**

The following sequence is formed using words and numbers:

- First number is 1
- In the first number, there was one 1 so the second number is 11.
- In the second number, there was two 1s, so the third number is 21
- Like that the fourth number is 1211 (one 2 and one 1)
- The next number is 111221 (one 1, one 2, two 1’s).

This sequence can continue infinitely. Given an integer, q[i], determine the sum of digits of the value in the sequence at that position. For example, position 4 contains the value 1211. The sum of those digits is 1+2+1+1 = 5.

**Constraints:**

```
1 <= n <= 1000
1 <= q[i] <= 54
```

**Input Format:**

The first line contains an integer n (total number of queries).

Next n lines contains an integer q[i].

**Output Format:**

n lines denoting sum of digits of sequence at q[i]

Check the sample test case solution for more information about output.

**Sample Input:**

```
2
2
4
```

**Sample Output:**

```
2
5
```

**Explanation:**

The sequence is 1, 11, 21, 1211, 111221 and so on.

The sum of digits of element at 2nd(11) and 4th(1211) position in the sequence are 2, 5.

**Solution:**

sumOfDigits = [0 for _ in range(56)] sumOfDigits[1] = 1 firstNumber = '11' for i in range(1, 55): sum_ = 0 for no in firstNumber: sum_ += int(no) sumOfDigits[i+1] = sum_ nextNumber = '' j=1 count = 1 for j in range(1, len(firstNumber)): if firstNumber[j] == firstNumber[j-1]: count += 1 else: nextNumber += str(count)+firstNumber[j-1] count = 1 nextNumber += str(count)+firstNumber[-1] firstNumber = nextNumber #input for _ in range(int(input())): print(sumOfDigits[int(input())])

//By kamesh upmanyu #include<bits/stdc++.h> using namespace std; string v[55];; void create() { v[1]=to_string(1); for(int i=2;i<=54;i++) { string str=v[i-1]; string res=""; for(int j=0;j<str.length();j++) { int c=1; while(str[j]==str[j+1]) { c++;j++;} res+=to_string(c)+str[j]; } v[i]=res; } } int main() { create(); int t,n; cin>>t; while(t--){ int s=0; cin>>n; string str=v[n]; for(int i=0;i<str.length();i++) { s+=str[i]-'0'; } cout<<s<<"\n"; } }

**If you have any doubts, ask us on Instagram or comment below**.