Given an integer n representing a face of a standard six-faced dice, find the number on the opposite face. The faces of the dice are numbered from 1 to 6.
Examples:
Input: n = 2
Output: 5
Explanation: For dice facing number 5 opposite face will have the number 2.Input: n = 6
Output: 1
Explanation: For dice facing number 6 opposite face will have the number 1.
Try It Yourself
Table of Content
[Naive Approach] if-else Statement - O(1) Time and O(1) Space
In a normal 6-faced dice, 1 is opposite to 6, 2 is opposite to 5, and 3 is opposite to 4. Hence a normal if-else-if block can be placedĀ .
#include <iostream>
using namespace std;
int oppositeFaceOfDice(int n) {
int ans;
if(n==1) {
ans = 6;
}else if(n == 2) {
ans = 5;
} else if(n == 3) {
ans = 4;
} else if( n==4 ) {
ans = 3;
} else if( n==5 ){
ans = 2;
} else {
ans = 1;
}
return ans;
}
int main() {
int n = 2;
cout << oppositeFaceOfDice(n);
return 0;
}
#include <stdio.h>
int oppositeFaceOfDice(int n) {
int ans;
if (n == 1) {
ans = 6;
}
else if (n == 2) {
ans = 5;
}
else if (n == 3) {
ans = 4;
}
else if (n == 4) {
ans = 3;
}
else if (n == 5) {
ans = 2;
}
else {
ans = 1;
}
return ans;
}
int main() {
int n = 2;
printf("%d", oppositeFaceOfDice(n));
return 0;
}
public class GFG {
public static int oppositeFaceOfDice(int n) {
int ans;
if (n == 1) {
ans = 6;
}
else if (n == 2) {
ans = 5;
}
else if (n == 3) {
ans = 4;
}
else if (n == 4) {
ans = 3;
}
else if (n == 5) {
ans = 2;
}
else {
ans = 1;
}
return ans;
}
public static void main(String[] args) {
int n = 2;
System.out.println(oppositeFaceOfDice(n));
}
}
def oppositeFaceOfDice(n):
if n == 1:
return 6
elif n == 2:
return 5
elif n == 3:
return 4
elif n == 4:
return 3
elif n == 5:
return 2
else:
return 1
if __name__ == "__main__":
n = 2
print(oppositeFaceOfDice(n))
using System;
class GFG {
static int oppositeFaceOfDice(int n) {
int ans;
if(n==1){
ans=6;
}else if(n==2){
ans=5;
}else if(n==3){
ans=4;
}else if(n==4){
ans=3;
}else if(n==5){
ans=2;
}else{
ans=1;
}
return ans;
}
static void Main() {
int n = 2;
Console.WriteLine(oppositeFaceOfDice(n));
}
}
function oppositeFaceOfDice(n) {
let ans;
if(n === 1) {
ans = 6;
} else if(n === 2) {
ans = 5;
} else if(n === 3) {
ans = 4;
} else if(n === 4) {
ans = 3;
} else if(n === 5) {
ans = 2;
} else {
ans = 1;
}
return ans;
}
// Driver code
let n = 2;
console.log(oppositeFaceOfDice(n));
Output
5
[Expected Approach] Sum of Two Sides - O(1) Time and O(1) Space
Based on the observation that the sum of two opposite sides of a cubical dice is equal to 7. So, just subtract the given n from 7 and print the answer.
#include<iostream>
using namespace std;
int oppositeFaceOfDice(int n) {
// Stores number on opposite face
// of dice
int ans = 7 - n;
return ans;
}
int main() {
int n = 2;
cout << oppositeFaceOfDice(n);
return 0;
}
#include <stdio.h>
int oppositeFaceOfDice(int n) {
// Stores number on opposite face
// of dice
int ans = 7 - n;
return ans;
}
int main() {
int n = 2;
printf("%d", oppositeFaceOfDice(n));
return 0;
}
public class GFG {
public static int oppositeFaceOfDice(int n) {
// Stores number on opposite face
// of dice
int ans = 7 - n;
return ans;
}
public static void main(String[] args) {
int n = 2;
System.out.println(oppositeFaceOfDice(n));
}
}
def oppositeFaceOfDice(n):
# Stores number on opposite face
# of dice
ans = 7 - n
return ans
n = 2
print(oppositeFaceOfDice(n))
using System;
class GFG {
public static int oppositeFaceOfDice(int n) {
// Stores number on opposite face
// of dice
int ans = 7 - n;
return ans;
}
static void Main() {
int n = 2;
Console.WriteLine(oppositeFaceOfDice(n));
}
}
function oppositeFaceOfDice(n) {
// Stores number on opposite face
// of dice
let ans = 7 - n;
return ans;
}
let n = 2;
console.log(oppositeFaceOfDice(n));
Output
5