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

Для заданного числа найти все его делители - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Love-Love
 Аватар для Love-Love
6 / 6 / 0
Регистрация: 27.10.2012
Сообщений: 94
27.10.2012, 23:14     Для заданного числа найти все его делители #1
вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n,i;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++);
    if (n%i==0)
        printf ("%d%d", i,n/i);
    
getch ();
}
Вот условие: Для заданного числа найти все его делители.
И еще один
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n,i;
    int P=1;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for ( int i=n; i>0; i--);
    { P=P*(1-1/(i*2));
    printf ("P=%i \n", P);
    }
getch ();
}
Вот условие: http://cs6249.userapi.com/u135660820...yy_risunok.png

У меня отказывается работать...что же не так?...((

Буду весьма благодарна!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 23:14     Для заданного числа найти все его делители
Посмотрите здесь:

C++ Дано натуральное число n. Найти все его делители и разложить его на простые числа.
C++ Найти все делители числа P
Вывести все делители заданного натурального числа с++ C++
C++ Циклические алгоритмы: вывести на экран все простые делители заданного натурального числа
C++ Получить все натуральные делители заданного числа n
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:16     Для заданного числа найти все его делители #2
C++
1
for(int i=1; i<=n/2; i++);
точку с запятой уберите после for
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 23:16     Для заданного числа найти все его делители #3
Цитата Сообщение от Love-Love Посмотреть сообщение
C++
1
scanf("%i", &n);
почему не
C++
1
scanf("%d", &n);
?
TopLoader
 Аватар для TopLoader
41 / 41 / 4
Регистрация: 10.12.2011
Сообщений: 128
27.10.2012, 23:18     Для заданного числа найти все его делители #4
У вас тело цикла for закрыт, т.е. никакое действие в нем не выполняется.
Нужно убрать ту точку с запятой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n,i;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++)
        if (n%i==0)
            printf ("%d%d", i,n/i);
    
getch ();
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:22     Для заданного числа найти все его делители #5
C++
1
for(int i=1; i<=n/2; i++)
при таком цикле не найдет последнего делителя - самого себя. Так что добавьте после цикла что-то вроде
C++
1
printf ("%d/%d = 1",n, n);
Love-Love
 Аватар для Love-Love
6 / 6 / 0
Регистрация: 27.10.2012
Сообщений: 94
27.10.2012, 23:28  [ТС]     Для заданного числа найти все его делители #6
все сделала, как все написали..та же ерундовщина..((
http://vk.com/doc135660820_133373403...abf017e3afe26d
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:32     Для заданного числа найти все его делители #7
Цитата Сообщение от Love-Love Посмотреть сообщение
все сделала, как все написали..та же ерундовщина..((
Убрал точку с запятой после for, и добавил одну строчку - всё работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n,i;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++)
    if (n%i==0)
        printf ("%d/%d = %d\n", n,i,n/i);
     printf ("%d/%d = 1\n", n,n);
    
getch ();
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
27.10.2012, 23:32     Для заданного числа найти все его делители #8
что-то подсказывает, что точку с запятой ты так и не убрал
ой, не успел
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:35     Для заданного числа найти все его делители #9
C++
1
int n,i;
уберите объявление переменной i.
или в цикле
C++
1
for(int i=1; i<=n/2; i++)
уберите int
Love-Love
 Аватар для Love-Love
6 / 6 / 0
Регистрация: 27.10.2012
Сообщений: 94
27.10.2012, 23:38  [ТС]     Для заданного числа найти все его делители #10
что-то все-равно не так...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n,i;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++)
    if (n%i==0)
        printf ("%d/%d = %d\n", n,i,n/i);
     printf ("%d/%d = 1\n", n,n);
    
getch ();
}
ввожу 25(например) получается такая картинка file:///C:/Users/%D0%90%D0%B4%D0%BC%...0%BA%20(3).bmp
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:42     Для заданного числа найти все его делители #11
Для заданного числа найти все его делители
Love-Love
 Аватар для Love-Love
6 / 6 / 0
Регистрация: 27.10.2012
Сообщений: 94
27.10.2012, 23:44  [ТС]     Для заданного числа найти все его делители #12
Цитата Сообщение от Croessmah Посмотреть сообщение
беда...(((
что ж я такая тупая?...
пожалуйста, покажите еще раз полностью код..
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
27.10.2012, 23:52     Для заданного числа найти все его делители #13
Первый код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main ()
{
    int n;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++)
    if (n%i==0)
        printf ("%d/%d = %d\n", n,i,n/i);
     printf ("%d/%d = 1\n", n,n);
    
getch ();
return 0;
}
вторая задача:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n;
     double P=1;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n; i++)
        P*=(1-(double)1/(i*2));
     printf ("P = %lf\n",P);
    
getch ();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2012, 23:55     Для заданного числа найти все его делители
Еще ссылки по теме:

Для заданного натурального числа N найти количество его делителей C++
Функция, определяющая все делители заданного числа C++
Получить все простые делители заданного числа C++

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

Или воспользуйтесь поиском по форуму:
Love-Love
 Аватар для Love-Love
6 / 6 / 0
Регистрация: 27.10.2012
Сообщений: 94
27.10.2012, 23:55  [ТС]     Для заданного числа найти все его делители #14
Цитата Сообщение от Croessmah Посмотреть сообщение
Первый код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main ()
{
    int n;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n/2; i++)
    if (n%i==0)
        printf ("%d/%d = %d\n", n,i,n/i);
     printf ("%d/%d = 1\n", n,n);
    
getch ();
return 0;
}
вторая задача:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main ()
{
    int n;
     double P=1;
    printf ("Vvedite n! \n");
    scanf("%i", &n);
    
    for(int i=1; i<=n; i++)
        P*=(1-(double)1/(i*2));
     printf ("P = %lf\n",P);
    
getch ();
}
УРААА!!! Спасибо-Спасибо-Спасибо-Спасибо-Спасибо-Спасибо-Спасибо!!!!!!!!!
Yandex
Объявления
27.10.2012, 23:55     Для заданного числа найти все его делители
Ответ Создать тему
Опции темы

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