Problem Nr. 32: IT-Schulung - aktuelle Probleme und Herausforderungen führender Unternehmen

Hallo liebe Leser. Immer wieder begeistern wir Sie mit einer neuen Auswahl interessanter Fragen und Aufgaben, von Interviews bis hin zu führenden IT-Unternehmen!

Die Antworten auf die Probleme aus der vorherigen Ausgabe wurden übrigens bereits veröffentlicht !



Ausgaben erscheinen jede Woche - bleiben Sie dran! Die Kolumne wird von der Personalagentur Spice IT unterstützt .

Diese Woche haben wir Aufgaben aus Interviews bei der indischen Firma MakeMyTrip gesammelt.

Fragen


1. 10 Münzen Puzzle
Sie haben die Augen verbunden und 10 Münzen liegen vor Ihnen auf dem Tisch. Sie dürfen die Münzen berühren, können aber anhand des Gefühls nicht erkennen, in welche Richtung sie sich befinden. Ihnen wird gesagt, dass es 5 Münzen mit dem Kopf nach oben und 5 Münzen mit dem Kopf nach oben gibt, aber nicht, welche welche sind.

Können Sie zwei Stapel Münzen mit jeweils der gleichen Anzahl von Köpfen herstellen? Sie können die Münzen beliebig oft werfen.

Transfer
10 . , , . , 5 , («») 5 , («») , — .

, ? .

2. Zeitungspuzzle
Eine Zeitung aus 16 großen, in zwei Hälften gefalteten Blättern. Die Zeitung hat insgesamt 64 Seiten. Das erste Blatt enthält die Seiten 1, 2, 63, 64.

Wenn wir ein Blatt mit der Seitenzahl 45 aufnehmen. Welche anderen Seiten enthält dieses Blatt?

Transfer
16 , . 64 . 1, 2, 63, 64.


*

, 45. ?

Aufgaben


1. Transponieren Sie die Matrix
Write a program to find transpose of a square matrix mat[][] of size N*N. Transpose of a matrix is obtained by changing rows to columns and columns to rows.

Input:
The first line of input contains an integer T, denoting the number of testcases. Then T test cases follow. Each test case contains an integer N, denoting the size of the square matrix. Then in the next line are N*N space separated values of the matrix.

Output:
For each test case output will be the space separated values of the transpose of the matrix

Constraints:
1 <= T <= 15
1 <= N <= 20
-103 <= mat[i][j] <= 103


Example:
Input:

2
4
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
2
1 2 -9 -2


Output:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 -9 2 -2


Explanation:
Testfall 1: Die Matrix nach der Drehung lautet : 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4.

Transfer
, mat[][] N*N. .

:
T, . T . N, . N*N .

:


:
1 < = T <= 15
1 < = N <= 20
-103 < = mat[i] [j] < = 103


:
:

2
4
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
2
1 2 -9 -2


:
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 -9 2 -2


:
1: : 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4.

2. Nachgestellte Nullen in Fakultät
Für eine ganze Zahl n finden Sie die Anzahl der nachgestellten Nullen in n! .

Eingabe:
Die erste Zeile enthält eine Ganzzahl ' T ', die die Gesamtzahl der Testfälle angibt. In jedem Testfall enthält es eine Ganzzahl ' N '.

Ausgabe:
In jeder separaten Zeile wird die Antwort auf das Problem ausgegeben.

Einschränkungen: Beispiel: Eingabe: Ausgabe:
1 <= T <= 100
1 <= N <= 1000




1
9


1
Transfer
n n!.

:
'T', . 'N'.

:
.

:
1 < = T <= 100
1 < = N < = 1000


:
:

1
9

:
1

3. Schritte von Knight
Given a square chessboard of N x N size, the position of Knight and position of a target is given. We need to find out minimum steps a Knight will take to reach the target position.

Input:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer n denoting the size of the square chessboard. The next line contains the X-Y coordinates of the knight. The next line contains the X-Y coordinates of the target.

Output:
Print the minimum steps the Knight will take to reach the target position.

Constraints:
1<=T<=100
1<=N<=20
1<=knight_pos,targer_pos<=N


Example:
Input:

2
6
4 5
1 1
20
5 7
15 20


Output:
3
9

N x N . , , .

:
T, . T . n, . X-Y . X-Y .

:
, , .

:
1<=T<=100
1<=N<=20
1<=knight_pos,targer_pos<=N


:
:

2
6
4 5
1 1
20
5 7
15 20


:
3
9


1
: .
:
2 . .

:
— , — .
1:
2:

1.
1:
2:

.

2
45- 46. , P, 65-p .

,
65-45 = 20
65-46 = 19

, — 19, 20, 45, 46.

1
O(1) :
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG
 {
	public static void main (String[] args)
	 {
	 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	 try{
	     int testCases = Integer.parseInt(br.readLine());
	     while(testCases-->0){
	         int size = Integer.parseInt(br.readLine());
	         int[] arr = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
	         int num = 0;
	         int i=0;
	         int total = size*size;
	         
	         while(num<total && i<size){
	             if(num >= size*(size-1)) { 
	                System.out.print(arr[num] + " ");
	                i++;
	                num = i;
	             }
	             else {
	             System.out.print(arr[num] + " ");
	             num+=size;
	             }
	         }
	         System.out.println();
	     }
	 }
	 catch (Exception e){
	     e.printStackTrace();
	 }
	 }
}

2
import math
for _ in range(int(input())):
n=math.factorial(int(input()))
print(len(str(n))-len(str(n).rstrip("0")))

3
#include<bits/stdc++.h>
using namespace std;

void bfs(bool visited[20][20],int n,int x,int y,int X,int Y,int& count){
    queue<pair<int,int>>q;
    visited[x-1][y-1]=true;
    q.push(make_pair(x,y));
    q.push(make_pair(0,0));
    while(q.size()>1){
        x=q.front().first;
        y=q.front().second;
        if(q.front().first==0 && q.front().second==0){
            q.pop();
            count++;
            q.push(make_pair(0,0));
            continue;
        }
        if(q.front().first==X && q.front().second==Y){
            return;
        }
        if(x>2 && y>1 && visited[x-3][y-2]==false){
            visited[x-3][y-2]=true;
            q.push(make_pair(x-2,y-1));
        }
        if(x>2 && y<n && visited[x-3][y]==false){
            visited[x-3][y]=true;
            q.push(make_pair(x-2,y+1));
        }
        if(x>1 && y<n-1 && visited[x-2][y+1]==false){
            visited[x-2][y+1]=true;
            q.push(make_pair(x-1,y+2));
        }
        if(x<n && y<n-1 && visited[x][y+1]==false){
            visited[x][y+1]=true;
            q.push(make_pair(x+1,y+2));
        }
        if(x<n-1 && y<n && visited[x+1][y]==false){
            visited[x+1][y]=true;
            q.push(make_pair(x+2,y+1));
        }
        if(x<n-1 && y>1 && visited[x+1][y-2]==false){
            visited[x+1][y-2]=true;
            q.push(make_pair(x+2,y-1));
        }
        if(x<n && y>2 && visited[x][y-3]==false){
            visited[x][y-3]=true;
            q.push(make_pair(x+1,y-2));
        }
        if(x>1 && y>2 && visited[x-2][y-3]==false){
            visited[x-2][y-3]=true;
            q.push(make_pair(x-1,y-2));
        }
        q.pop();
    }
}
int main()
{
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        int x,y,X,Y;
        cin>>x>>y>>X>>Y;
        int count=0;
        bool visited[20][20]={false};
        bfs(visited,n,x,y,X,Y,count);
        cout<<count<<'\n';
    }
	return 0;
}

All Articles