Помогите!!! Написать програмку в С# !!! Дано ціле трьохзначне число. Визначте, чи є...

0 голосов
97 просмотров

Помогите!!! Написать програмку в С# !!!
Дано ціле трьохзначне число. Визначте, чи є добуток його цифр трьохзначним числом.

Дано целое трехзначное число. Определите, есть ли произведение его цифр трехзначное число.


Информатика (356 баллов) | 97 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Файл с исходным кодом прикреплен в описании (нужно переименовать с 'Program.cs.txt', на просто 'Program.cs'), код продублирован в коментариях к ответу. Если есть вопросы - пиши в коменты.

Код полностью прокоментирован, надеюсь будет понятно.


Скачать вложение Текст (TXT)
(1.4k баллов)
0

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp
{

class Program
{
const int number1 = 27; //данное число
const int number2 = 123; //данное число
const int number3 = 999; //данное число
const int number4 = 1024; //данное число

0

static bool function(int x) //функция определяющая, является ли произведение всех цифр числа - трехзначным числом
{
bool returnValue; //тут будем хранить возращаемое значение

if (99 < x && 1000 > x) //если исходное число, трехзначное, то есть попадает в предел (99; 1000), нужно что бы не выполнять зря вычесления
{
int comparisionValue; //в этой переменной храним произведение цифр

comparisionValue = 1; //присваиваем ей значение 1, для корректного умножения

0

comparisionValue *= x % 10; //получаем остаток от деления на 10, то есть последнюю цифру (самый младший разряд)
comparisionValue *= x % 100 / 10; //получаем остаток от деления на 100 - получаем последние 2 разряда, делим на 10 - тбрасываем последний разряд
comparisionValue *= x % 1000 / 100; //тоже самое что и ранее, но отбрасываем последних 2 разряда.

0

returnValue = (99 < comparisionValue && 1000 > comparisionValue); //если полученное значение в пределе (99; 1000) - оно трехзначное, присвоить true, иначе false.
}
else //иначе, если не попадает исходное значение в предел
{
returnValue = false; //присвоить значение false
}
return returnValue;
}

0

static void Main(string[] args)
{
//выводим числа и значения, является ли произведение трех их цифр трехзначным числом.
Console.WriteLine("First Number is: " + number1);
Console.WriteLine("The product of all its digits is a three-digit number: " + function(number1));
Console.WriteLine("Second Number is: " + number2);
Console.WriteLine("The product of all its digits is a three-digit number: " + function(number2));

0

Console.WriteLine("First Number is: " + number3);
Console.WriteLine("The product of all its digits is a three-digit number: " + function(number3));
Console.WriteLine("Second Number is: " + number4);
Console.WriteLine("The product of all its digits is a three-digit number: " + function(number4));

0

while (true) //вхдим в бесконечный цикл, что бы программа не завершилась сама, а пользователь мог закрыть её нажатием любой клавиши или на кномку закрыть, справа вверху
{
Console.WriteLine("Press eny key");
Console.ReadKey(); //ждать нажатие любой клавиши
break; //выйти из бесконечного цикла и завершить программу
}
}
}
}