We are given 5 Integer variables Num, P1, P2, profit_P1, profit_P2 and the task is to maximize the profit and from all the natural numbers in the range of [1, Num]. The approach here is that if a positive number is divisible by P1 the profit increases by profit_P1 and similarly if if the number in the range is divisible by P2 the profit margin of profit_P2 increases. Also, the profit from a positive integer can be added at most once.Let us understand with example:-Input − int num = 4, P1 = 6, P2 = 2, profit_P1 = 8, profit_P2 = ... Read More
We are given a K number of linked lists of variable sizes which are sorted in their sequence and we have to merge the list into a resultant list in such a way that the resultant array is sorted in order and the resultant array is printed as the output to the user.Let us understand with example:-Input −int k = 3;list[0] = new Node(11);list[0].next = new Node(15);list[0].next.next = new Node(17);list[1] = new Node(2);list[1].next = new Node(3);list[1].next.next = new Node(26);list[1].next.next.next = new Node(39);list[2] = new Node(4);list[2].next = new Node(8);list[2].next.next = new Node(10);Output −The merged list is-->2>> 3>> 4>> 8>> 10>> 11>> 15>> 17>> ... Read More
The problem statement here is to kill the goons in the rooms of a building with minimum number of bombings. The rooms are labelled as 1 to n. The goons are injured by the first bombing attack and die in the second. When the rooms are bombed the goons rush to the nearest room in the building specially the neighboring room. We must calculate the number of bombing it is required to bomb the rooms in order to kill all the goons in the building.Let us understand with exampleInput − int number of rooms = 3Output −Total Bombings required42 1 3 2Explanation − ... Read More
We are given an ‘n’ number of arrays, let's say we take three arrays i.e. arr1[], arr2[] and arr3[] of integer type. The task is to merge all the given integer arrays in such a manner that the resultant array is sorted in the runtime only.Let us understand with exampleInput −Inta[]={21, 22, 23, 24};int b[ ] ={28, 31, 35}Output −int resultant[ ]={21, 22, 23, 24, 28, 31, 35}.Explanation − The array elements are compared before they are added and added according to their suitable position in the resultant array.Input −inta[]={1, 3, 5, 7, 9, 11, 13};int b[ ] ={14, 16, 18}int c[ ] ={19, ... Read More
LR Parser is a class of Bottom-Up Parser that is used to parse Context-Free Grammars. LR Parsing is known as LR (K) parsing. LR parser is a shift-reduce parser that creates the use of deterministic finite automata, identifying the collection of all applicable prefixes by reading the stack from bottom to top.It decides what handle, if any, is available. A viable prefix of a right sequential form is that prefix that includes a handle, but no symbol to the right of the handle. Thus, if a finite state machine that identifies viable prefixes of the right sentential form is constructed, ... Read More
There are three types of LR Parsers which are as follows −Simple LR Parser (SLR) − SLR represents "Simple LR Parser". It is very easy and costeffective to execute. But it fails to make a parsing table for some class of grammars, i.e., why CLR and LALR are used which implements mainly all class or type of grammars. It constructs parsing tables which helps to perform parsing of input strings. SLR Parsing can be done if context-free Grammar will be given. In LR (0), 0 means there is no Look Ahead symbol.The SLR parsing action and goto function from the ... Read More
The translation of the source code into the object code for the target machine, a compiler can produce a middle-level language code, which is referred to as intermediate code or intermediate text. There are three types of intermediate code representation are as follows −Postfix NotationIn postfix notation, the operator comes after an operand, i.e., the operator follows an operand.ExamplePostfix Notation for the expression (a+b) * (c+d) is ab + cd +*Postfix Notation for the expression (a*b) - (c+d) is ab* + cd + - .Syntax TreeA tree in which each leaf node describes an operand & each interior node an ... Read More
In postfix notation, the operator appears after the operands, i.e., the operator between operands is taken out & is attached after operands.Example1 − Translate a ∗ d − (b + c) into Postfix form.Solutionad ∗ bc + −Example2 − Convert a + (b ∗⊝ c) is in Postfix form.SolutionHere ⊝ represents the unary minus operator.a b c ⊝ ∗ +Example3 − Convert Postfix Expression into Infix Expression using Stack Implementationa d ∗ bc + −SolutionString SymbolsStackad ∗ bc + −AADad*(a * d)B(a * d)bC(a * d)b c+(a ∗ d)(b + c)-(a ∗ d)-(b + c)Example4 − Calculate the value for ... Read More
Intermediate code can translate the source program into the machine program. Intermediate code is generated because the compiler can’t generate machine code directly in one pass. Therefore, first, it converts the source program into intermediate code, which performs efficient generation of machine code further. The intermediate code can be represented in the form of postfix notation, syntax tree, directed acyclic graph, three address codes, Quadruples, and triples.If it can divide the compiler stages into two parts, i.e., Front end & Back end, then this phase comes in between.Example of Intermediate Code Generation −Three Address Code− These are statements of form ... Read More
A syntax-directed translation scheme is a context-free grammar in which attributes are related to the grammar symbol and semantic actions enclosed within braces ({ }). These semantic actions are the subroutines that are known by the parser at the suitable time for translation. The location of the semantic actions on the right side of production denotes the time when it will be known for implementation by the parser.When it can produce a translation scheme, it should provide that an attribute value is available when the action defines it. This needed thatInherited attributes of a symbol on the right side of ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP