Здравейте , някакви насоки към задачата? Не знам как да запиша числото като отделни digits…
Sum Digits
Write a program that reads a four-digit number and displays the sum of its digits
- 1213 => 1 + 2 + 1 + 3 = 7
- 2346 => 2 + 3 + 4 + 6 = 15
Input
- On the first line, you will receive the four-digit number N
Output
- On the only line of output, print the sum of digits
Constraints
Input
2346
Output
15
using System;
namespace _7
{
internal class Program
{
static void Main(string[] args)
{
string inputData1 = Console.ReadLine();
int a = int.Parse(inputData1);
int b = int.Parse(inputData1);
int c = int.Parse(inputData1);
int d = int.Parse(inputData1);
int result = a + b + c + d;
Console.WriteLine( result);
}
}
}
Един вариант е с т.н. модулно деление (%)
2346 / 1000 = 2 ;
2346 % 1000 = 346
Надявам се това да помогне, има и друг начин, но за сега пробвай този. Ако не успееш кажи да даваме още жокери
За последния се сетих как да го запиша , но до там .
string inputData1 = Console.ReadLine();
int a = int.Parse(inputData1);
int digit1 = a % 10; //6
int digit2 = a % ;
int digit3 = a % ;
int digit4 = a % ;
int result = digit1 + digit2 + digit3 + digit4;
Console.WriteLine(result);
Така е добре, за да разкараш последното число какво трябв да направиш ?
Май се справих , отново мерси!
string inputData1 = Console.ReadLine();
int a = int.Parse(inputData1);
int digit1 = a % 10;
int digit2 = ( ((a - digit1) / 10) % 10) ;
int digit3 = ( ((a - (digit2 * 10)) / 100) % 10) ;
int digit4 = ( (a - (a % 1000)) / 1000);
int result = digit1 + digit2 + digit3 + digit4;
Console.WriteLine(result);
Поздравления , но нямаше нужда от такива заклинания
digit1 = 2346 % 10 // 6
a = a / 10; // a = 234
digit2 = a % 10 // 4
a = a / 10 // a = 23
digit3 = a % 10 // 3
a = a / 10 // 2
Тук даже няма нужда от digit4 понеже остава само последното (1-вото) число.