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

Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число - C++

Восстановить пароль Регистрация
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
07.10.2012, 22:44     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #1
Условие: Определить все двоичные числа, принадлежат промежутку [a, b], сумма цифр которых есть простые числа.

вот то что я уже написал, цикл для нахождения сумы есть, а вот как определить простая ли ета сума, а потом еще й вывести на екран числа, сумы которых простое число я просто незнаю.
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
#include <math.h>
#include <conio.h>
#include <stdio.h>
int main()
{
    int a, b;
    printf("Vvedite promizok a i b vid 10 do 99 :");
    scanf("%d%d", &a, &b);
    if (a>(99) || b>99 || a<10 || b<10) printf("Vveden nekorektniy promizok");
    else 
    { 
        int i, d, c, s;
        for(i=a; i<=b; i++)
        {
            d=i/10;
            c=i%10;
            s=d+c;
        }
        int j;
        for(int j=2; j<=s/2; j++)
        {
            if(s%j==0)
            {
                printf("%i", i);
            }
        }
    }
    getch();
    return 0;
    }
Добавлено через 1 минуту
P.S.:цикл после s=d+c я просто так вставил, я не знаю как ним проверять число простое оно или нет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 22:44     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число
Посмотрите здесь:

Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат - действительное число) C++
Цикл: Определить все числа, принадлежат промежутку [10,99], сумма цифр которых является простым числом. C++
C++ Определить количество 8-значных чисел,у которых сумма цифр в цифровой записи числа больше,чем N.
Циклические вычислительные процессы (Дано натуральное число N. Вывести на экран все шестизначные числа, сумма цифр которых равна N) C++
C++ Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.10.2012, 22:53     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #2
ну задача почти правильная ток тут надо немног подредактировать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
      
        for(i=a; i<=b; i++) //должен быть самым внешним циклом
        {
            d=i/10;
            c=i%10;
            s=d+c;  // число составленное из сумы цифр числа i   
    
        for(int j=2; j<=s/2; j++)
        {
            if(s%j==0) // проверка числа на простоту 
            {
                printf("%i", i); // если простое то  выведет i
            }
        }
    }
и в выводе сделайте printf("%i \n", i);
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
07.10.2012, 23:03  [ТС]     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #3
можно пожалуста целиком код подправленый, мне так легче сравнить со своим и понять свои ошибки

Добавлено через 1 минуту
а то я чтото не очень понял комент: "2 for(i=a; i<=b; i++) //должен быть самым внешним циклом"
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.10.2012, 23:11     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #4
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
34
35
36
37
38
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
 int Prime(int a) //есть тема на форуме там проверяют вот так простые числа
{
   int i;
   if (a == 2)
      return 1;
   if (a == 0 || a == 1 || a % 2 == 0)
      return 0;
   for(i = 3; i*i <= a && a % i; i += 2)
      ;
   return i*i > a;
}
 
int main()
{
    int a, b;
    printf("Vvedite promizok a i b vid 10 do 99 :\n");
    scanf("%d%d", &a, &b);
    if (a>(99) || b>99 || a<10 || b<10) printf("Vveden nekorektniy promizok");
    else
    {
        int i, d, c, s;
        for(i=a; i<=b; i++) 
        {
            d=i/10;
            c=i%10;
            s=d+c;
        if(Prime(s))
            printf("%i\n", i);
        }
    }
 
    getch();
    return 0;
    }
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
07.10.2012, 23:20  [ТС]     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #5
ага, тут через функции, мы их учили, да я неплохо их виучил, думаю так защитают. а если без функций, то так будет работать(визуалка не хочет сечас работать, не могу сам проверить):
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
#include <math.h>
#include <conio.h>
#include <stdio.h>
int main()
{
    int a, b;
    printf("Vvedite promizok a i b vid 10 do 99 :");
    scanf("%d%d", &a, &b);
    if (a>(99) || b>99 || a<10 || b<10) printf("Vveden nekorektniy promizok");
    else 
    { 
        int i, d, c, s;
        for(i=a; i<=b; i++) //должен быть самым внешним циклом
        {
            d=i/10;
            c=i%10;
            s=d+c;  // число составленное из сумы цифр числа i   
    
        for(int j=2; j<=s/2; j++)
        {
            if(s%j==0) // проверка числа на простоту 
            {
                printf("%i", i); // если простое то  выведет i
            }
        }
    }   
    getch();
    return 0;
    }
?
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.10.2012, 23:46     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число #6
без функций надо коректно проверять условия простоты числа все что вписано в функцию придется вставить в код в качестве условия
Yandex
Объявления
07.10.2012, 23:46     Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число
Ответ Создать тему
Опции темы

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