Найти количество трехзначных чисел, сумма цифр которых равна A - C#

Узнай цену своей работы

Формулировка задачи:

найти количество трехзначных чисел сумма цифр которых равна A а само число заканчивается цифрой B (A и B) вводятся с клавиатуры. Нужно консольное приложение Вот задание нужна помощь 1. Дано натуральное число: • найти количество цифр данного числа; • определить, верно ли, что данное число заканчивается на нечетную цифру. 2. Найти количество трехзначных чисел, сумма цифр которых равна А, а само число заканчивается цифрой В (А и В вводятся с клавиатуры); (Нужно консольное приложение) Я начал и вот
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int b,c,count,i,j,num,p;
            string s,a,d,f;
            byte res;
            try
            {
                Console.Write("num:=");
                a = Console.ReadLine();
                num = Convert.ToInt32(a);
                Console.Write("b:=");
                d = Console.ReadLine();
                b = Convert.ToInt32(d);
                Console.Write("c:=");
                f = Console.ReadLine();
                c = Convert.ToInt32(f);
                p = num % 10;
                if (p % 2 == 0)
                {
                    Console.WriteLine("Четное");
                }
                else
                {
                    Console.WriteLine("Нечетное");
                }
                if (b>27)
                {
                    Console.WriteLine("Таких трезначных чисел нет");
                    
                }
                if (b>=c)
                {
                    Console.WriteLine("b не может быть больше равно c ");
                    
                }
                s = Convert.ToString(num);
                res = Convert.ToByte(s.Length);
                Console.WriteLine("Количество цифр:= {0,0}", res);
                for (i = 0; i < 9; i++)
                    for (j = 0; j < 9; j++)
//КАК прописать if(i+j+c=b)
//КАК ПРОПИСАТЬ ФУНКЦИЮ inc(count)
                     Console.ReadKey();

                    }
 
            catch
            {
                Console.WriteLine("Введите занового");
//КАК СДЕЛАТЬ ЧТОБЫ ПРОГРАММА НАЧАЛАСЬ ЗАНОВО
                
            }
        }
    }
}
вот код делфи на форме
    unit Unit2;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Buttons, StdCtrls;
    
    type
     TForm2 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        Label7: TLabel;
        Button1: TButton;
        Button2: TButton;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
        procedure Edit1KeyPress(Sender: TObject;var key:char);
        procedure Edit2KeyPress(Sender: TObject;var key:char);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form2: TForm2;
    
    implementation
    uses Standart,Unit1;

    {$R *.dfm}
    procedure TForm2.Edit1KeyPress(Sender: TObject;var key:char);
    begin
    if not(key in['0'..'9']) then
    key:=#8;
    end;
    procedure TForm2.Edit2KeyPress(Sender: TObject;var key:char);
    begin
    if not(key in['0'..'9']) then
    key:=#8;
    end;
    procedure TForm2.Button1Click(Sender: TObject);
    var a,b,count,i,j:integer;
    begin
    try
     //читаем число из Эдита
        //если число некорректное, возникнет исключение
    label3.Caption:='';
    label5.Caption:='';
    label6.Caption:='';
    //очищаем лейбы
    a:=StrToInt (Edit1.Text);
    b:=StrToInt (Edit2.Text);
    if a>27 then
    label3.Caption:='Таких трехзначных чисел нет, где их сумма цифр будет равна a, когда она больше чем 27';
    if b>=a then
    begin
    label5.Caption:='b не может быть больше или равно а';
    //проверяем условие
    exit;
    end;
    for i := 1 to 9 do
     for j := 0 to 9 do
      if (i+j+b=a) then
      begin
        inc(count);
        break;
      end;
      label6.Caption:='Количество трехзначных чисел: ' + IntTOStr(count);
      //выводим результат
    except
    ShowMessage('Введено не целое число');
    Edit1.Text:='';
    Edit2.Text:='';
    end;
    end;
    procedure TForm2.Button2Click(Sender: TObject);
    begin
    label7.Caption:=''
    end;
    procedure TForm2.BitBtn1Click(Sender: TObject);
    begin
    Form1.show;
    Form2.Hide;
    end;
    procedure TForm2.BitBtn2Click(Sender: TObject);
    begin
    StandartTab.Close;
    end;
    end.

Решение задачи: «Найти количество трехзначных чисел, сумма цифр которых равна A»

textual
Листинг программы
        public static void Main(string[] args)
        {
            var x = 784845;
 
            var len = (int) Math.Ceiling(Math.Log10(x));
            Console.WriteLine("Количество цифр числа {0} = {1}", x, len);
            Console.WriteLine("Число x заканчивается {0}четной цифрой", x % 2 != 0 ? "не" : "");
 
            int a = 6, b = 7;
 
            for (int i = 100; i <= 999; i++)
            {
                if (b == i%10 && Sum(i) == a)
                {
                    Console.WriteLine(i);
                }
            }
        }
 
        private static int Sum(int n)
        {
            int sum = 0;
 
            while (n != 0)
            {
                sum += n%10;
                n /= 10;
            }
 
            return sum;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы