Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 28.12.2011
Сообщений: 24

задача с циклами "Гадание"

09.02.2012, 13:32. Показов 3928. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
http://acmp.ru/index.asp?main=task&id_task=23
помогите решить

дальше незнаю как
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main (){
int n,k,s=0;
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
   for k=1..n{
       if(n%k = 0) s = s+k;
  }
  
  write(s);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2012, 13:32
Ответы с готовыми решениями:

Задача с циклами
Объясните пожалуйста на словах как решить. Задача 1. Напишите программу, которая по заданному натуральному n печатает рисунок (см....

C++ задача с циклами
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main () { setlocale(LC_ALL, &quot;Russian&quot;); int a; cout...

Задача с циклами
Само задание во вложении, не работал с шаблонами помогите пожалуйста

11
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.02.2012, 14:58

Не по теме:

Вам бы начать с предыдущих 22 задач этого же сайта. Там наверняка поднималась тема циклов



C++
1
2
3
4
5
int sum = 1+N;//N всегда делится на 1 и само себя без остатка
for(int i = 2,i_end = N/2;i <= i_end;++i)
{
     if(N%i == 0)sum += i;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 15:53
Цитата Сообщение от Remedych Посмотреть сообщение
помогите решить
- ниже код на плюсах который решает данную задачу
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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    int i, n, sum;
    ifstream ifs("input.txt");
    ofstream ofs("output.txt");
    if(!ifs)
        cout<<"Error open input.txt\n";
    else
    if(!ofs)
        cout<<"Error open output.txt\n";
    else
    {
        ifs>>n;
        sum = n;
        for(i = 1; i < 10; i++)
        {
            if(n % i == 0)
                sum += i;
        }
        cout<<"sum = "<<sum<<endl;
        ofs<<sum;
    }
    if(ifs)
        ifs.close();
    if(ofs)
        ofs.close();
    system("pause");
    return 0;
}
0
0 / 0 / 1
Регистрация: 28.12.2011
Сообщений: 24
09.02.2012, 15:55  [ТС]
I.M., все равно не могу понять как решить эту задачу
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 16:06
Remedych ,а код я зачем приводил - скомпилируй и запиши в файлы проверочные значения...

Не по теме:

(ну лан отписываюсь тогда от топика)

0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.02.2012, 16:07
Вам выше Юра готовую программу привел. Используйте.

Только исправьте здесь 10 на n
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for(i = 1; i < 10; i++)
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 16:11
Цитата Сообщение от I.M. Посмотреть сообщение
Только исправьте здесь 10 на n
- зачем???Любое двузначное число может быть представлено в виде произведения двух однозначных(т.е. произведение чисел от 1 до 10, размышляя на эту тему думаю что условие по i следует ограничить 13-ю и всё), тобишь

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for(i = 1; i < 13; i++)
* * * * * * * * {
* * * * * * * * * * * * if(n % i == 0)
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.02.2012, 16:19
Наверное я чего-то не понимаю, но n может быть до 1000.
Да и потом, даже если взять ваше утверждение, то возьмем число 51. 51 = 3*17. Значит sum = 1+3+17+51
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 16:29
Цитата Сообщение от I.M. Посмотреть сообщение
3*17
Цитата Сообщение от I.M. Посмотреть сообщение
но n может быть до 1000.
- ну и берём от балды 645
Делится на
1 - понятное дело
645 - стопудово
2 - фигушки
3 - оносамое
4 - 2*2 - в топку
5 - угу
6 - как и 4-ри 3*3 - в топку
7 - пипец знаков после запятой - НЕТ
8 - на кой делить на 8-мь если это 2 и 4, т.е выкинуть
9 - 3 *3 тоже в топку
11 - ээ неее
12 - 3*4 тоже в топку
13 - нет
14 - 2*7 не надо
15 - 3*5 не надо
16 - 4*4 не надо
17 - нет, но надо включить его в список
18 - 2*9 = 2*3*3 - в топку
19 - вот его ещё возьмём
На сим список
1,2,3,5,7,11,13,17,19
Все остальные числа - комбинации приведенных выше и поэтому говоря что делится на 9 - кривим душой - оно делится на 3-ри, хотя может я чего то сам не допопонимаю...

Добавлено через 53 секунды
Цитата Сообщение от I.M. Посмотреть сообщение
51
= 3 + 51 + 17 + 1 ну вот как раз по списку

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
На сим список
1,2,3,5,7,11,13,17,19
сейчас подправлю код под это дело
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.02.2012, 16:33
В задании написано - найти сумму всех делителей, а не только простых делителей.
И если уж поправлять, тогда нужно брать список всех простых чисел до sqrt(1000). Т.е. до 31 включительно.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 17:18
Цитата Сообщение от I.M. Посмотреть сообщение
В задании написано - найти сумму всех делителей, а не только простых делителей.
И если уж поправлять, тогда нужно брать список всех простых чисел до sqrt(1000). Т.е. до 31 включительно.
- вообще задание туповатое, вот и ломаем голову. Нет брать числа кратные простым сомножителям это глупость, нужен список простых чисел в диапазоне от 1 до 1000, тперь мне стало понятно, момент...

Добавлено через 17 минут
http://ru.wikipedia.org/wiki/Простые_числа

Добавлено через 2 минуты
Как найти простое число
1
Способ 1. Решето Эратосфена.
По этому методу, чтобы найти все простые числа не больше определенного значения Х, необходимо выписать подряд все целые числа от одного до Х. Возьмем число 2 как первое простое число. Вычеркнем из списка все числа, делящиеся на 2. Затем возьмем следующее после двойки, не вычеркнутое число, и вычеркнем из списка все числа, делящиеся на взятое нами число. И далее каждый раз будем брать следующее не вычеркнутое число и вычеркивать из списка все числа, делящиеся на взятое нами число. И так до тех пор пока выбранное нами число не станет больше, чем Х/2. Все оставшиеся в списке не вычеркнутые числа являются простыми

2
Способ 2. Решето Сундарама.
Из ряда натуральных чисел от 1 до N исключаются все числа вида
х + у + 2ху,
где индексы х (не больший у) пробегают все натуральные значения, для которых х+у+2ху не больше N, а именно значения х=1, 2,...,((2N+1)1/2-1)/2 и х=у, х+1,...,(N-х)/(2х+1)ю\. Затем каждое из оставшихся чисел умножается на 2 и увеличивается на 1. Полученная в результате последовательность представляет собой все нечётные простые числа в ряду от одного до 2N+1.

3
Способ 3. Решето Аткина.
Решето Аткина представляет собой сложный современный алгоритм нахождения всех простых чисел до заданного значения Х. Основная суть алгоритма состоит в представлении простых чисел как целых с нечетным числом представлений в данных квадратных формах. Отдельный этап алгоритма отсеивает числа, кратные квадратам простых чисел в интервале от 5 до Х.

4
Тесты простоты.
Тесты простоты-- это алгоритмы, позволяющие определить, является ли конкретное число Х простым.
Один из самых простых, но и трудоемких тестов-- это перебор делителей. Он состоит в преборе всех целых чисел от 2 до квадратного корня из Х и в вычислении остатка от деления Х на каждое из этих чисел. Если остаток от деления числа Х на некоторое число (больше 1 и меньше Х) равен нулю, то число Х является составным. Если выявляется, что число Х невозможно сократить без остатка ни на одно из чисел, кроме единицы и самого себя, то число Х простое.
Кроме этого способа существует также большое количество других тестов для тестирования простоты числа. Большинство этих тестов являются вероятностными и используются в криптографии. Единственный тест, гарантирующий получение ответа (тест AKS) очень сложен в вычислении, что затрудняет его практическое применение
- материал взят из данного источника
http://www.kakprosto.ru/kak-37... toe-chislo
0
0 / 0 / 1
Регистрация: 28.12.2011
Сообщений: 24
10.02.2012, 01:08  [ТС]
дак как решить задачу правильно?

Добавлено через 27 минут
все всем спасибо, сам допер
вот решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 #include <iostream>
using namespace std;
 
int main ()
{
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
   int n,k,s=0;
   cin>>n;
   
   for(k = 1 ; k <= n ; k++) 
 { 
 if(n % k == 0)
 s=s+k;  
 }
   cout<<s;
 
   
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2012, 01:08
Помогаю со студенческими работами здесь

Задача с циклами while и do while
Напишите программу с помощью цикла while и do while, которая выводит числа от заданного до заданного, но только в том случае, если они...

Задача с циклами. Не могу доработать код
Вычислить сумму s, прекращая суммирование, когда очередной член суммы по абсолютной величине станет меньше 0,0001, при изменении аргумента...

Задача с циклами
Прошу вашей помощи, нужно решить пример, используя какой либо из циклов: while, do while, for.

Задача с циклами
Народ помогите решить такую задачу: Пользователь вводит числа (3, 4 или 5) до ввода символа &quot;e&quot; или &quot;E&quot;. Вывести...

Задача с циклами
Здравствуйте. помогите пожалуйста решить 2 задачи,завтра сдавать( решаю остальные 3 которые мне понятны..) 1) Составить программу,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru