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

Найти сумму всех n-значных чисел 1<=n<=4 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.82
Fajyz
 Аватар для Fajyz
4 / 4 / 0
Регистрация: 29.12.2009
Сообщений: 31
25.09.2010, 09:14     Найти сумму всех n-значных чисел 1<=n<=4 #1
Найти сумму всех n-значных чисел 1<=n<=4

может я тупой или от голода не могу думать, но объясните мне что надо сделать в этом задании. я не прошу решения а просто объясните что тут делать???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
25.09.2010, 09:19     Найти сумму всех n-значных чисел 1<=n<=4 #2
Ввести целое n от 1 до 4. И посчитать сумму n-значных чисел. Т.е. вводишь 1 - считаешь сумму от 0 до 9. Вводишь 2 - сумму двухзначных (10-99) итд.
Fajyz
 Аватар для Fajyz
4 / 4 / 0
Регистрация: 29.12.2009
Сообщений: 31
25.09.2010, 09:28  [ТС]     Найти сумму всех n-значных чисел 1<=n<=4 #3
ага, понятно. спасиба
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
25.09.2010, 10:17     Найти сумму всех n-значных чисел 1<=n<=4 #4
Если нужен код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
while (true) {
int i, g; int l = 0;
cin >> i;
for(g = (i-1)*10;g<((i-1)*10)+10;g++)
{
l=l+g;   
}
cout << l;
}
}
Условие сам поставишь. Извиняюсь за быдлокодинг, сам новичок в Си.
___
А нет, я не прав. Тут нужно вводить первую цифру, а не все n-значные. Кто может решите, самому интересно
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
25.09.2010, 10:23     Найти сумму всех n-значных чисел 1<=n<=4 #5
Manok, какое-то странное условие в цикле... Например для n=3 посчитает сумму от 20 до 30. Предлагаю свой вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <math.h>
 
int main()
{
    int n,i,sum=0,start,end;
    cout<<"Vvedite n: ";
    cin>>n;
 
    start = pow(10,n-1);
    end = start*10;
 
    for(i=start; i<end; i++)
        sum+=i;
 
    cout<<"Summa ot "<<start<<" do "<<end<<" = "<<sum<<endl;
 
    system("pause");
    return 0;
}
Переменные start и end для наглядности
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
25.09.2010, 10:26     Найти сумму всех n-значных чисел 1<=n<=4 #6
dihlofos, введя n=3, 5, или 9, мы получаем неправильный ответ в твоем коде.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
25.09.2010, 10:27     Найти сумму всех n-значных чисел 1<=n<=4 #7
Fajyz, как я понимаю, нужно посчитать сумму всех одно-, двух-, трёх- и 4х-значных чисел.
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
25.09.2010, 10:44     Найти сумму всех n-значных чисел 1<=n<=4 #8
Цитата Сообщение от Manok Посмотреть сообщение
введя n=3, 5, или 9, мы получаем неправильный ответ в твоем коде.
Почему? Проверил для 3, работает аналогично следующему
C++
1
2
for(i=100; i<1000; i++)
    sum+=i;
Выдаёт 494550

Можно кстати считать по формуле арифм. прогресии. Типа:

C++
1
sum=(start+end-1)/2.0*(end-start);
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
25.09.2010, 10:46     Найти сумму всех n-значных чисел 1<=n<=4 #9
dihlofos, он пишет что считает от 99 до 990 ( при n = 3), а трехзначные числа идут до 999, или я не прав О_о
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
25.09.2010, 10:49     Найти сумму всех n-значных чисел 1<=n<=4 #10
Как так? У меня пишет от 100 до 1000. Ну собственно, он просто так пишет, 1000 на самом деле не прибавляется (т.к. в цикле стоит строго меньше). Ну а для n=9 так вообще int'а не хватит)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.09.2010, 11:05     Найти сумму всех n-значных чисел 1<=n<=4 #11
Согласен с Andrew_Lvov
dihlofos
25.09.2010, 12:03
  #12

Не по теме:

silent_1991, Andrew_Lvov, в смысле, просто сумма от 1 до 9999?oO

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.09.2010, 12:06     Найти сумму всех n-значных чисел 1<=n<=4 #13
dihlofos, ну да. Без ввода n даже
dihlofos
25.09.2010, 12:08
  #14

Не по теме:

silent_1991, щас залез в гугл, нашел пару подобных задач. Решатся, как я думал, с вводом n...

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
26.09.2010, 16:27     Найти сумму всех n-значных чисел 1<=n<=4 #15
dihlofos,
Да разницы-то по сути нет, добавить ввод n - не проблема. Просто мне показалось, что n здесь просто как вспомогательный элемент в записи задания, неудобно как-то писать "Найти сумму всех чисел с количеством разрядов от 1 до 4" или что-нибудь в этом роде.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2010, 13:22     Найти сумму всех n-значных чисел 1<=n<=4
Еще ссылки по теме:

C++ Среди всех N значных чисел указать те, сумма цифр которых равна заданному числу К
Найти сумму всех чисел в файле, найти данный символ, добавить текст C++
C++ Цикл с параметром: найти сумму всех n-значных чисел, кратных k

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

Или воспользуйтесь поиском по форуму:
Fajyz
 Аватар для Fajyz
4 / 4 / 0
Регистрация: 29.12.2009
Сообщений: 31
05.10.2010, 13:22  [ТС]     Найти сумму всех n-значных чисел 1<=n<=4 #16
Какие тут жаркие дебаты я набил желудок и решил задачку с помощью массива.
PS Работу сдал на отлично

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
 
void main()
{
clrscr();
char n;
printf("Введите значность числа 'n' от 1 до 4\n");
scanf("%d",&n);
int mass[5]={0,1,10,100,1000}; //вводим массив с числами
if(n>=1 && n<=4) //Проверка ввода числа 'n'
    {
    double qwert=0;
    for (int i=mass[n];i<mass[n]*10;i++) //цикл использует число из массива
        {
        qwert+=i;
        }
    printf("Сумма всех чисел значности %d равно %.0f",n,qwert);
    }
else printf("Надо ввести числа от 1 до 4");
getch();
}
Yandex
Объявления
05.10.2010, 13:22     Найти сумму всех n-значных чисел 1<=n<=4
Ответ Создать тему
Опции темы

Текущее время: 23:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru