1282 - I2P_2017_EECS_Hw2 Scoreboard

Time

2017/09/27 09:00:00 2017/10/02 10:00:00

Clarification

# Problem Asker Description Reply Replier Reply Time For all team

# Problem Pass Rate (passed user / total user)
10066 I2P homework2a
10067 I2P homework2b
11101 Big Number

10066 - I2P homework2a   

Description

The input is a three-digit integer N that consists of digits 1-9 except 0. For example, 489 is such a number. The task is to reverse the order of the digits of N to get a new three-digit number M, and compute the average of the N and M. For example, if N is 489, then M is 984, and the answer should be 736.5.

Input

A three-digit integer consisting of 1-9 except 0

Output

The average of the input number and its reversal
The answer should be expressed as a floating point number with precision to the first decimal place. For example, 333.0 or 736.5

Note that you do not need to print ‘\n’ at the end of the output.

Sample Input  Download

Sample Output  Download

Tags




Discuss




10067 - I2P homework2b   

Description

Suppose that we have an encoding scheme defined by the following mapping:
1->'A', 2->'B', 3->'C', ..., 9->'I'
Given a three-digit number N as the input, use the above mapping to encode N.
 

Input

A three-digit integer N

Output

The encoding result

Note that you do not need to print ‘\n’ at the end of the output.

Sample Input  Download

Sample Output  Download

Tags




Discuss




11101 - Big Number   

Description


Replace the ??? in the following code so that the program can correctly compute
the square of the number entered by the user.
Assume that the input number is always an 8-digit positive integer.
* Note that the output format is always 16-digit wide with space prepended if needed.

For example, 
(11111111)^2 = _123456787654321
_ is a space character.


#include <stdio.h>
/* 2016/09/22 */
int first4(int x){
   return x/10000;
}
int last4(int x){
   /* The operator % in C computes the remainder after division.
      For example, the answer of 23%7 will be 2.*/
   return x%10000;
}
int first8(int x){
   return x/100000000;
}
int last8(int x){
   return x%100000000;
}
int shift4(int x){
   return x*10000;
}
int main(void){
   int x;
  int a, b;
  int c1, c2, c3;
  /* Assume that the input is always an 8-digit positive integer. */
  scanf("%d", ???); 
  a = first4(x);
  b = last4(x)
  c3 = ???;
  c2 = ???;
  c1 = ???;
  printf("%4d%08d%04d", ???, ???, ???);  
  /* %04d will display a 4-digit number and add 0 as padding before the number if necessary */
  return 0;
}

[Hint]
Assume that the input 8-digit integer x can be expressed by a*10000 + b .
The square of x can be expressed as a*a*100000000 + 2*a*b*10000 + b*b .
We may partition the computation into three parts.
An illustration of the idea is as follows:
 
| 4 digits | 4 digits | 4 digits | 4 digits |
                             |        b * b            |
              |      2 * a * b         |
|        a * a            |
|    c1      |          c2              |    c3     |
 

Input

 The input is always an 8-digit positive integer

Output

the square of input .

Note that you do not need to print ‘\n’ at the end of the output.wink

Sample Input  Download

Sample Output  Download

Tags




Discuss