using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KekTus
{
class Program
{
static void PrintArr(int[][] arr)
{
foreach (var str in arr)
{
foreach (var el in str)
Console.Write($"{el}\t");
Console.WriteLine();
}
}
static void Main(string[] args)
{
int M;
int N;
try
{
Console.Write("M = "); M = int.Parse(Console.ReadLine());
Console.Write("N = "); N = int.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine("Ошибка ввода");
return;
}
if (N < 0 || M < 0)
{
Console.WriteLine("Ошбка ввода");
return;
}
Console.WriteLine("M = {0}; N = {1}.", M, N);
int[][] Arr = new int[M][];
var rand = new Random();
for(int i = 0; i < M; ++i)
{
Arr[i] = new int[N];
for (int j = 0; j < N; ++j)
Arr[i][j] = rand.Next(10,99);
}
Console.WriteLine("Исходный массив:");
PrintArr(Arr);
Console.WriteLine();
int[][] Buffer = new int[N][];
for (int j = 0; j < N; ++j)
Buffer[j] = new int[M];
for (int i = 0; i < M; ++i)
for (int j = 0; j < N; ++j)
Buffer[j][i] = Arr[i][j];
Arr = Buffer;
Console.WriteLine("Преобразованный :");
PrintArr(Arr);
Console.WriteLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KekTus
{
class Program
{
static void PrintArr(int[][] arr)
{
foreach (var str in arr)
{
foreach (var el in str)
Console.Write($"{el}\t");
Console.WriteLine();
}
}
static void Main(string[] args)
{
int M;
int N;
try
{
Console.Write("M = "); M = int.Parse(Console.ReadLine());
Console.Write("N = "); N = int.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine("Ошибка ввода");
return;
}
if (N < 0 || M < 0)
{
Console.WriteLine("Ошбка ввода");
return;
}
Console.WriteLine("M = {0}; N = {1}.", M, N);
int[][] Arr = new int[M][];
var rand = new Random();
for(int i = 0; i < M; ++i)
{
Arr[i] = new int[N];
for (int j = 0; j < N; ++j)
Arr[i][j] = rand.Next(10,99);
}
Console.WriteLine("Исходный массив:");
PrintArr(Arr);
Console.WriteLine();
int[][] Buffer = new int[N][];
for (int j = 0; j < N; ++j)
Buffer[j] = new int[M];
for (int i = 0; i < M; ++i)
for (int j = 0; j < N; ++j)
Buffer[j][i] = Arr[i][j];
Arr = Buffer;
Console.WriteLine("Преобразованный:");
PrintArr(Arr);
Console.WriteLine();
}
}
}
Поделитесь своими знаниями, ответьте на вопрос:
2. снова спиннеры денис тоже решил заняться производством и продажей спинеров, но он считает у спиннера может быть только три или четыре лопасти. у него есть ровно m лопастей, которые он может прикреплять к основаниям, и неограниченный запас оснований. он хочет изготовить несколько трехлопастных и несколько четрырехлопастных спиннеров так, чтобы использовать всем m лопастей . определите , сколько спиннеров каждого вида он должен произвести. программа получает на вход одно целое положитльное число m< не превосходящее 2x10^9, - количество лопастей, которое есть у дениса. программа должна вывести два целых числа- количество спиннеров с 3 лопастями и количество спиннеров с 4 лопастями , которые должен произвести денис. если у есть несколько решений, нужно выести любое из них . если денис не может использовать ровно м лопастей для производства спиннеров , программа должна вывести два числа 0.
Небольшое наблюдение: если Денис может использовать ровно M лопастей, то он может использовать их так, чтобы четырёхлопастных спиннеров было не больше двух. (Если их три или больше, то каждые три четырёхлопастных спиннера можно поменять на 4 трёхлопастных).
Код (C++)
#include <iostream>
int main() {
long long M;
std::cin >> M;
for (int f = 0; f < 3 && f * 4 <= M; f++) {
if ((M - f * 4) % 3 == 0) {
std::cout << (M - f * 4) / 3 << " " << f;
return 0;
}
}
std::cout << "0 0";
return 0;
}