Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/145: Рейтинг темы: голосов - 145, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 6
1

Дано трехзначное число. Найти сумму и произведение его цифр

06.12.2011, 02:47. Показов 29835. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день. Не судите строго. Всего пару дней как начал учить с#. Наткнулся на проблему.
Такая задача:
Дано трехзначное число. Найти сумму и произведение его цифр.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2011, 02:47
Ответы с готовыми решениями:

Дано трехзначное число. Найти сумму и произведение его цифр
ЦЕЛЫЕ ЧИСЛА Язык программирования: C# Версия задачника: 4.12 от 10/05/2014 Задание:...

Дано n - значное число. Найти сумму и произведение его цифр
дано n-значное число. найти сумму и произведение его цифр.

Дано трехзначное число. Найти сумму и произведение его цифр
спаси6о всем за помощь

Дано трехзначное число. Найти сумму и произведение его цифр
Дано трехзначное число. Найти сумму и произведение его цифр. Нарисуйте пожалуйста блок схему...

5
12 / 12 / 3
Регистрация: 30.11.2011
Сообщений: 76
06.12.2011, 04:24 2
решение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
class Program
{
    static void Main(string[] args)
    {
        bool IsCorrect = false;
        string s="";
        while (!IsCorrect)
        {
            
            Console.WriteLine("Введите трехзначное число");
            s = Console.ReadLine();
            IsCorrect =true;
 
            for (int i = 0; i < s.Length; i++)
                if (!char.IsDigit(s[i]))
                    IsCorrect = false;
            if (s.Length != 3) IsCorrect = false;
        }
 
        int k = Convert.ToInt32(s);
        int sum = 0, proizv = 1;
        for (int i = 0; i < s.Length ; i++)
        {
            sum += (int)((k % (int)Math.Pow(10, i + 1) - k % (int)Math.Pow(10, i))/ Math.Pow(10, i));
            proizv *= (int)((k % (int)Math.Pow(10, i + 1) - k % (int)Math.Pow(10, i)) / Math.Pow(10, i));   
        }
        Console.WriteLine("Сумма цифр этого числа равна {0}, произведение цифр этого числа равно {1}",sum, proizv);
       
        Console.ReadLine();
    }
}
1
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 6
06.12.2011, 04:42  [ТС] 3
Спасибо.
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.4.5)
0
12 / 12 / 3
Регистрация: 30.11.2011
Сообщений: 76
06.12.2011, 04:46 4
Решение рабочее, но не оптимальное. Наверняка можно сделать все красивее и лучше.
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
06.12.2011, 10:32 5
Как вариант:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Console.Write("n = ");
int n = int.Parse(Console.ReadLine());
 
if (n / 1000 > 0) Console.WriteLine("Invalid number");
else {
    int sum = 0, prod = 1;
    while (n > 0) {
        int rem;
        n = Math.DivRem(n, 10, out rem);
        sum += rem;
        prod *= rem;
    }
    Console.WriteLine("Sum = {0}", sum);
    Console.WriteLine("Product = {0}", prod);
}
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.12.2011, 10:41 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Linq;
 
class Program
{
    static void Main(string[] args)
    {
        int number = new Random().Next(100, 1000);
        int sum = number.ToString().Select(x => x - '0').
            Cast<int>().Sum();
        int mul = number.ToString().Select(x => x - '0').
            Cast<int>().Aggregate((result, value) => result * value);
        Console.WriteLine("Число: {0}\nСумма: {1}\nПроизведение: {2}", 
            number, sum, mul);
        Console.ReadKey(true);
    }
}
1
06.12.2011, 10:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2011, 10:41
Помогаю со студенческими работами здесь

Дано трехзначное число. Найти сумму и произведение его цифр в PHP
Доброго времени суток, уважаемые коллеги по цеху, помогите решить задачку в PHP. Текст задания...

Дано натуральное трехзначное число N. Определить сумму и произведение его цифр.
1. Линейные алгоритмы. Задача 2.1 Дано натуральное трехзначное число N. Определить сумму и...

Дано трехзначное число, найти произведение его цифр.
№1 Дано трехзначное число, найти произведение его цифр. №2 Дано натуральное число n (n&lt;=9999),...

Дано трехзначное натуральное число. Найти произведение его цифр
3. Дано трехзначное натуральное число. Найти произведение его цифр. Я девушка, и, честно говоря,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru