Вложенные Циклы

Тема в разделе "C/C++/C#", создана пользователем Krestoman94, 15 дек 2012.

  1. Krestoman94

    Krestoman94 Гость

    Для натуральных чисел лежащих в диапазоне от к1 до к2 проверить признак делимости на 9(сумма цифр числа должна также делиться на 9). Сколько таких чисел в заданном диапазоне?
    Программа:
    #include<iostream.h>
    void main()
    {
    int k1, k2, x, n;
    cout<<"k1";
    cin>>k1;
    cout<<"k2";
    cin>>k2;
    for(x=k1;x<=k2;x++)
    if(x%9==0)
    n++;
    cout<<"number"<<n;
    }

    Вычислить значение выражения z=П(k*E(i+k)).
    П от k=1 до n. n вводится с клавиатуры. Е от i=1 до 10.
    программа:
    #include<iostream.h>
    #include<math.h>
    void main()
    {
    int i, n, k, S=0, P=1;
    cout<<"n=";
    cin>>n;
    for(k=1;k<=n;k++)
    {
    for(i=1;i<=10;i++)
    S=S+i+k;
    }
    P=P*k*S;
    cout<<"z="<<P;
    }
    преподаватель говорит что неправильно. помогите пожалуйста.
    Язык borland C++.
     
  2. Unk

    Unk Гость

    Я извеняюсь по первому, вы уверены, что правильно будет все работать? и что означает сумма чисел тоже должна делиться на 9. Ладно к первому вопросы
    Код (C++):
    for(x=k1;x<=k2;x++)
    if(x%9==0)
    n++;
    cout<<"number"<<n;
    }
    эт вообще что за шайтан код? Может я чего не допонимаю, разъясните пожалуста
    п.с.
    а накой вы лишнюю переменную ввиде x создаете? используйте k1.
    Вот еще чего, а что за число n?
    вы его увеличиваете, а значения никакого не присваивали и что оно делает?
     
  3. Krestoman94

    Krestoman94 Гость

    Это С++. n подсчитывает числа делящиеся на 9. сумма цифр числа тоже должна делиться на 9.
     
  4. Unk

    Unk Гость

    Я заметил, что это C++. Все же, n вы должны в самом начале назначить как n=0;
    и все же, объясните, что означает сумма чисел должна делиться на 9. Если 18 представить ввиде 1 и 8, их сумма равна 9, и она делиться на 9, но так же и 18 спокойно поделить на 9, так что не совсем понимаю вопроса.

    Если можно расшифруйте формулу во втором приложении.
    Всегда не любил расшифровывать задания в институте. =)
     
  5. Krestoman94

    Krestoman94 Гость

    Преподаватель сказал что проверить признак это значит, доказать что действительно, если сумма цифр числа делится на 9 то и само число делится на 9. насчёт n=0 согласен. Я просто программирование только изучать начал. но без посторонней помощи никак не справлюсь.
     
  6. Krestoman94

    Krestoman94 Гость

    Если уж совсем неправильно, то напишите новую программу. Мне это необходимо. У меня ещё десятки подобных задач. но мне нужен хотя бы один образец
     
  7. Unk

    Unk Гость

    Код (C++):
    #include<iostream.h>
    int main()
    {
    int k1, k2, n;
    std::cout<<"k1:";
    std::cin>>k1;
    std::cout<<"k2:";
    std::cin>>k2;
    if (k1>k2)
    swap(k1,k2); // юзеры разные, если к1 больше к2 меняем их местами
    if (k1==k2) // тут правда есть частный случай, если k1 и k2 делятся на 9. опять же ваше дело, мое поумничать.
    return 1;
    if (k1<0||k2<0) // опять же, если меньше 0, не карсиво выходит, хотя дело ваше, отрицательные числа можно делить на 9
    return 2;
    for(;k1<=k2;k1++)
    if(k1%9==0)
    n++;
    std::cout<<"number:"<<n; // не забывай пробел или двоеточие, вывод будет не красивый.
    return 0;
    }
    Не все так плохо.
    только объясните поподробней вторую задачу, хоть убей не вкурю чего хотят.
     
  8. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    ваш код не совсем верен
    тут всё уперается в признак деления на 9
    на примере легче показать
    4782969 - сумма чисел 45 это число делится на 9? 4+5=9 да 9=9.
    то есть мы можем получить сумму чисел отличную от 9 ,которую тоже необходимо проверить по признаку
    и так несколько раз


    вторая задача правильно ли я понял
    сумма по k от 1 до n ( k*(сумму по i от 1 до 10 (i+k)) )?
     
  9. Krestoman94

    Krestoman94 Гость

    Произведение по k от 1 до n ( k*(сумму по i от 1 до 10 (i+k)) )?



    Добавлено: Произведение по k от 1 до n ( k*(сумму по i от 1 до 10 (i+k))
     
  10. Unk

    Unk Гость

    Ну как бы 4782969/9=531441 т.е. это число само по себе делится на 9
    По признаку делимости на 9 сумма всех чисел числа (еще не бред несу?) делится на 9 то и число делится на 9.
     
  11. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    вятка намекает что нужно использовать рекурсию, я согласен )
     
  12. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    просто судя по заданию преподователь тоже намекал(не явным образом) на рекурсию

    цитата
    Ну как бы 4782969/9=531441 т.е. это число само по себе делится на 9По признаку делимости на 9 сумма всех чисел числа (еще не бред несу?) делится на 9 то и число делится на 9.
    конец цитаты

    а как вы определили что это число делится на 9?
    нельзя ничем пользоваться кроме признака
     
  13. Unk

    Unk Гость

    r04
    Whatka
    Всегда не любил расшифровывать задачи преподов. И велосипедов городить.

    А определю, да легко! на глаз...
     
  14. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    тут надо прояснить:
    понимание сути проблемы- четверть решения

    велосипед??ты про рекурсию?про моё предложение ,которое расширяет множество
    условий которым удовлетворяет решение?

    а про определение на глаз:
    это ты с элементарным условием проделал ,а допустим
    тебе нужно будет проверить удовлетворяет ли число огромной формуле
    и что ты будешь делать?


    суть таких(простых) заданий и состоит в том,чтобы научиться
    использовать твои "велосипеды"
     
  15. Unk

    Unk Гость

    Потому работаю на 1/4 от того что нужно. Ну что ж, надеюсь когда нибудь буду на 1/3, стремимся, скажем так.
    п.с.
    Спасибо за разъяснения, я оказываеться не совсем глуп и такой вариант рассматривал в самом начале, но лень батюшка подсказала, что тут простенькая задачка, на которой нужно простенькое решение.
    П.П.С.
    Ну если автор, попросит (а то как то флуд разводим в топе, а автора то и нет) так поможем, а пока пожалуй не будем страдать э... разводить демогогию в пустую

    Ан нет, вот куча тем... кстати, почему я сообщения не могу отправлять?:)
     
Загрузка...
Похожие Темы - Вложенные Циклы
  1. Marinka
    Ответов:
    2
    Просмотров:
    1.083
  2. slavon-x86
    Ответов:
    1
    Просмотров:
    3.028
  3. morpheus
    Ответов:
    0
    Просмотров:
    3.349
  4. Maddy101d
    Ответов:
    3
    Просмотров:
    1.016
  5. Homka
    Ответов:
    12
    Просмотров:
    2.882

Поделиться этой страницей