Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
#1

Дано число n. Найти сумму n-значных чисел - C++

15.11.2010, 11:04. Просмотров 971. Ответов 12
Метки нет (Все метки)

Кто может решит такую задачу. Дано число n. Найти сумму n-значных чисел. Ограничениа 0<n<=100.
Хочу сказать что эту задачу я решил, просто интересно кто кокой алгоритм придложет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 11:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано число n. Найти сумму n-значных чисел (C++):

Дано натуральное число n. Найти сумму всех четных чисел от 1 до n. C++ - C++
Дано натуральное число n. Найти сумму всех четных чисел от 1 до n. C++ Прошу помогите.Сильно нуждаюсь)

Найти сумму всех n-значных чисел 1<=n<=4 - C++
Найти сумму всех n-значных чисел 1&lt;=n&lt;=4 может я тупой или от голода не могу думать, но объясните мне что надо сделать в этом задании....

Дано трехзначное число, перевернуть его (465 -> 564) и найти сумму и произведение этих чисел - C++
Помогите пожалуйста. Дано трехзначное число, надо его перевернуть ( напр 465-564) и найти сумму и произведение этих чисел

Дано натуральное число N. Найти сумму первых n натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5 - C++
Дано натуральное число N. Найти сумму первых n натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5.

Цикл с параметром: найти сумму всех n-значных чисел, кратных k - C++
Помогите составить программу. Условие: Найти сумму всех n-значных чисел, кратных k (1 &lt; n &lt; 4). Заранее благодарен!

Найти сумму целых 2-значных положительных чисел меньше 200 - C++
Разработка алгоритма с использованием оператора do/while, while 2. Найти сумму целых 2-значных положительных чисел меньше 200. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.11.2010, 11:11 #2
Ставь реальные цели. А в такой разрядности задача не решабельна.
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
15.11.2010, 11:13 #3
почему это не решабельна?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.11.2010, 11:17 #4
Из-за количества слагаемых и времени, которое потребует их сложение.

Добавлено через 1 минуту
C++
1
2
3
4
for x=n/10, s=0; x<=n; ++x)
{
 s+=x;
}
. Написать просто, выполнить нельзя.
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
15.11.2010, 11:20  [ТС] #5
taras atavin, можно и очень легко.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.11.2010, 11:21 #6
Ты количество шагов цикла сосчитал?
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
15.11.2010, 11:40  [ТС] #7
taras atavin, я цикл использую не для суммированиа а для печати.

Добавлено через 13 минут
Вот решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
int n,i;
int main()
{
      cin >> n;
      if (n==1) cout<< 45 << endl; else
      if (n==2) cout<< 4905 << endl; 
      else
      {
            cout << 494;
            for (i=1;i<=n-3;i++)
                 cout << 9;
            cout << 55;
            for (i=1;i<=n-2;i++)
                 cout << 0;
      }      
}
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
15.11.2010, 11:41 #8
а массивы для чего рпидумали??там простая формула арифметической прогрессии и умножение массивов.
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
15.11.2010, 11:49  [ТС] #9
genius5, можешь решение показать.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.11.2010, 11:55 #10
aram_gyumri, для n=3
495550,
а у тебя
494550.
Для n=4
49505500,
а у тебя
49495500.
Для n=5
655087704,
а у тебя
4949955000.
Так что задачу ты не решил.

Добавлено через 2 минуты
aram_gyumri,
Цитата Сообщение от genius5 Посмотреть сообщение
а массивы для чего рпидумали??там простая формула арифметической прогрессии и умножение массивов.
При чём здесь массивы? Массивом называется составная переменная, состоящая из множества однотипных элементов, каждый из которых имеет свой индекс. В задаче же требуется найти сумму скаляров.
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
15.11.2010, 12:05  [ТС] #11
taras atavin, на с++ я не проверял,
но на паскаль и си шарп все правильно
вот решениа
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
VAR N,I:INTEGER;
BEGIN
     READLN(N);
     IF N=1 THEN WRITELN(45) ELSE
     IF N=2 THEN WRITELN(4905) ELSE 
     BEGIN
          WRITE(494); 
          FOR I:=1 TO N-3 DO WRITE(9);
          WRITE(55); 
          FOR I:=1 TO N-2 DO WRITE(0)
     END
END.
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
using System;
class Nsum
{
    static void Main()
    {
            int n = Convert.ToInt32(Console.ReadLine());
                switch(n)
                   {
                       case 1:
                           Console.WriteLine(45);
                           break;
                       case 2:
                           Console.WriteLine(4905);
                           break;
                       default:
                           {
                               string s = "494";
                               for (int j = 4; j <= n; j++)
                               s += "9";
                               s += "55";
                               for (int j = n + 3; j <= 2 * n; j++)
                               s += "0";
                               Console.WriteLine(s);
                           }
                           break;
                   }
    }
}
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
15.11.2010, 12:56 #12
Цитата Сообщение от taras atavin Посмотреть сообщение
aram_gyumri,
для n=3
495550,
а у тебя
494550.
Для n=4
49505500,
а у тебя
49495500.
Для n=5
655087704,
а у тебя
4949955000.
Проверил для малых n тупым суммированием - у ТС все верно,

Цитата Сообщение от taras atavin Посмотреть сообщение
Так что задачу ты не решил.
так что это ты где-то затупил.

Добавлено через 24 минуты
Цитата Сообщение от genius5 Посмотреть сообщение
а массивы для чего рпидумали??там простая формула арифметической прогрессии и умножение массивов.
Массивы реально перемножать не придется. так как умножение производится на 90000.... (девятка и n-1 нулей), что сводится к умножению массива на число и приписыванию нулей. А вот на 2 поделить массив потом придется, но это тоже не трудно.
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
15.11.2010, 13:06 #13
aram_gyumri, и что для n=100?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2010, 13:06
Привет! Вот еще темы с ответами:

Дано действительно число а.Найти среди чисел 1, 1*1/2, 1*/1/2+1/3, ... первое число, большее а, и его номер в последовательности чисел. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №2) Дано действительно число а.Найти среди чисел 1, 1*1/2, 1*/1/2+1/3, ... первое...

Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста - C++
Дано натуральное число N. Найти наименьшее число М (N&lt; M&lt; 2N), которое делится на сумму цифр числа N (без остатка). Если такого числа...

Дано вещественное число А>0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А - C++
Дано вещественное число А&gt;0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А

Найти сумму всех n-значных чисел (1 ≤ n ≤ 4) - C++
//Я новичок в этом, поэтому подскажите #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2010, 13:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru