Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Задачи с цикъл while

Задачи с цикъл while

Мнениеот Гост » 20 Яну 2024, 00:01

Здравейте, имам нужда от помощ за 2 задачи. На първата кода тръгва написвам число и се затваря, а втората изобщо не мога да я направя.
Зад. 1. Напишете програма, която приема като вход естествено число n и да отпечатва числата 9 99 999 9999...99(n пъти) и тяхната сума.
Примерен вход: 5
Примерен изход:
9 99 999 9999 99999
The sum of the series = 111105
Ето го и моят код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Vuvedete chislo: ");
int broi = int.Parse(Console.ReadLine());
int chislo = 9;
int n = 0;
int sum = 0;
while (n<broi)
{
Console.Write(chislo + " ");
chislo = chislo * 10 + 9;
sum = sum + chislo;
n++;
}
Console.WriteLine(sum);
}
}
}
Зад. 2. Напишете програма, която да приема като вход естествено число и да отпечатва дали числото е просто или не.
Примерен вход:
Input a number: 13
Примерен изход:
13 is a prime number.
Гост
 

Re: Задачи с цикъл while

Мнениеот peyo » 20 Яну 2024, 06:55

Гост написа:Зад. 1. Напишете програма, която приема като вход естествено число n и да отпечатва числата 9 99 999 9999...99(n пъти) и тяхната сума.
Примерен вход: 5
Примерен изход:
9 99 999 9999 99999
The sum of the series = 111105



Код: Избери целия код
In [273]: def f(n):
     ...:     return(lambda x: (x, sum(x)))(reduce( lambda x,y: x+[10**y-1], range(1,n+1),[]))
     ...:

In [274]: f(5)
Out[274]: ([9, 99, 999, 9999, 99999], 111105)



$\sum_{i=1}^{n} \left(10^{i} - 1\right) = \sum_{i=1}^{n} 10^{i} - \sum_{i=1}^{n} 1 = 10\frac{10^n-1}{9} - n$
peyo
Математик
 
Мнения: 1768
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 664

Re: Задачи с цикъл while

Мнениеот ammornil » 20 Яну 2024, 08:20

Не разбрах как решение с Python използвайки Lambda фунции е отговор на проблем в раздел [C#, Java] на въпрос [Задачи с цикъл while]. Може би остарявам.
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3768
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1780

Re: Задачи с цикъл while

Мнениеот ammornil » 20 Яну 2024, 09:02

Гост написа:Ето го и моят код:
Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vuvedete chislo: ");
            int broi = int.Parse(Console.ReadLine());
            int chislo = 9;
            int n = 0;
            int sum = 0;
            while (n<broi)
            {
                Console.Write(chislo + " ");
                chislo = chislo * 10 + 9;
                sum = sum + chislo;
                n++;
            }
            Console.WriteLine(sum);
        }
    }
}


Идеята Ви е правилна. Може би командния промпт не е конфигуриран да спира, затова е добре да добавите един ред в края на програмата, за да изчаква натискане на клавиш.

Позволих си да пренаредя операциите в while цикъла предложен от Вас.

Код: Избери целия код
namespace while_samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vuvedete chislo: ");

            int broi = int.Parse(Console.ReadLine());
            int chislo = 9;
            int n = 0;
            int sum = 0;
            while (n < broi)
            {
                Console.Write(chislo + " ");
                sum = sum + chislo;
                chislo = chislo * 10 + 9;
                n++;
            }
            Console.WriteLine(String.Format("\nThe sum of the series= {0,12:N}", sum));
            Console.ReadKey(false);
        }
    }
}
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3768
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1780

Re: Задачи с цикъл while

Мнениеот ammornil » 20 Яну 2024, 09:19

Гост написа:Зад. 2. Напишете програма, която да приема като вход естествено число и да отпечатва дали числото е просто или не.
Примерен вход:
Input a number: 13
Примерен изход:
13 is a prime number.


Ето едно антично решение от мен. Надявам се да Ви е от полза.

Код: Избери целия код
namespace while_samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vuvedete chislo: ");
            int user_input = int.Parse(Console.ReadLine());
            bool is_prime = true;
            int max_divisor = 1;
            int check_division_by = 2;
            if (user_input % check_division_by == 0)
            {
                is_prime = false;
            }
            else
            {
                check_division_by++;
            }
            max_divisor = (int) (user_input / check_division_by);
            while ((check_division_by <= max_divisor) && (is_prime))
            {
                if (user_input % check_division_by == 0)
                {
                    is_prime=false;
                }
                check_division_by++;
            }
            if (is_prime)
            {
                Console.WriteLine(String.Format("\n{0} is a prime number.", user_input));
            }
            else
            {
                Console.WriteLine(String.Format("\n{0} is not a prime number.", user_input));
            }
           
            Console.ReadKey(false);
        }
    }
}
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3768
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1780


Назад към C#, Java



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)