Найти количество трехзначных чисел, сумма цифр которых равна 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д