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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
varostislav
3 / 3 / 0
Регистрация: 30.09.2012
Сообщений: 49
#1

Найти все дроби и их количество, знаменатель которых меньше заданного числа - C++

02.10.2012, 09:56. Просмотров 1797. Ответов 11
Метки нет (Все метки)

найти все положительные простые дроби и их количество, знаменатель которых меньше заданного натурального числа. Желательно задачу простым языком с ++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2012, 09:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все дроби и их количество, знаменатель которых меньше заданного числа (C++):

Нужно найти все правильные несократимые дроби, знаменатель которых меньше N. Правильность и несократимость про - C++
Подскажите в чем ошибка! Нужно найти все правильные несократимые дроби, знаменатель которых меньше N. Правильность и несократимость...

Вывести все Простые дроби из интервала (0; 1), знаменатель которых не превышает n. - C++
1) Дан многоугольник, вершины которого заданы целочисленными координатами. Вывести на экран количество точек, которые имеют целочисленные...

Напечатать все строки, длина которых меньше заданного числа - C++
Прошу помочь с небольшой задачкой: Работа с текстовыми файлами. Дан текстовый файл. Напечатать все строки, длина которых меньше...

Определить количество слов в строке, длина которых меньше заданного числа К - C++
Помогите пожалуйста с задачкой... ПЛИЗ... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить...

Найти сумму элементов массива значения которых меньше заданного числа - C++
Дан одномерный массив 6 элементов. Найти сумму элементов массива значения которых меньше 0.25 Массив x-{3.5,-6.3,2.1,0.1,5.1,-2.1}

В матрице А (mxn) найти найти сумму элементов по колонкам, значения которых по модулю меньше заданного числа К - C++
a) задать значения элементов массива при объявления переменных; b) значения элементов массива ввести с клавиатуры....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cmath
Модератор
2433 / 1652 / 133
Регистрация: 11.08.2012
Сообщений: 3,294
Завершенные тесты: 5
02.10.2012, 10:31 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int n, count = 0;
 
cin >> n; // вводим натуральное число, меньше которого наш знаменатель
 
for(int i = 2; i < n+1; i++)
{
     for(int j = 1; j < i; j++)
     {
          cout<< j << "/" << i << endl; // выводим дроби на экран
          count++; // и считаем их количество
     }
}
 
cout << "Quantaty: " << count;
AnreyKazakov
Заблокирован
02.10.2012, 10:31 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main(){
    bool key;
    int a=1,sum=0;
    cin>>a;//вводим знаменатель
    if(!a)a=1;//проверяем на ноль
    if(a!=1){//и единицу
    cout<<"1/"<<a<<", ";
    for(int i=2;i!=a;++i){
        key=1;
        for(int j=2;j<=i;++j){
            //если делитель и знаменатель делятся без остатка на j
            if(!((a%j)||(i%j)))key=0;//то обнуляем к, чтобы не выводить
            }
        if(key){cout<<i<<"/"<<a<<", ";++sum}    
        }
    }   
            cout<<endl<<sum<<endl;
    return 0;
}
как-то так
cmath
Модератор
2433 / 1652 / 133
Регистрация: 11.08.2012
Сообщений: 3,294
Завершенные тесты: 5
02.10.2012, 10:34 #4
Цитата Сообщение от AnreyKazakov Посмотреть сообщение
for(int j=2;j<=i;++j){
C++
1
2
 //если делитель и знаменатель делятся без остатка на j
 if(!((a%j)||(i%j)))key=0;//то обнуляем к, чтобы не выводить
}
Речь про простые, а не про несократимые дроби.
хотя 2/4 = 1/2
AnreyKazakov
Заблокирован
02.10.2012, 10:37 #5
Цитата Сообщение от Hydrogen Посмотреть сообщение
Речь про простые, а несократимые дроби.
А, ну да
-=ЮрА=-
Заблокирован
Автор FAQ
02.10.2012, 12:09 #6
varostislav, лови
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
39
40
41
42
43
#include <iostream>
using namespace std;
//ÔóГ*êöèÿ ГўГҐГ°Г*ВёГІ ГЁГ±ГІГЁГ*Гі åñëè ÷èñëî ïðîñòîå
bool isSimpleDigit(int val)
{
    bool bSimple = true;
    for(int i = 2; i < 9 && bSimple; i++)
    for(int j = 2; j < 9 && bSimple && 9 < val; j++)
    {
        bSimple = //Г‡Г*ïèñûâГ*ГҐГ¬ ðåçóëüòГ*ГІ ëîãè÷åñêîãî âûðГ*æåГ*ГЁГї
            (val % i) || ((val / i) % j == 0);
            //ëîãèêГ* : 
            //÷èñëî äåëèòñÿ c îñòГ*òêîì Г*Г* 2-9 val % i
            //èëè æå ïîëó÷åГ*Г*ûé îñòГ*òîê Г*ГҐ äåëèòñÿ Г*Г* 2-9
            //- ГІГ® ÷èñëî ïðîñòîå
    }
    return bSimple;
}
 
int main()
{
    int i;//Ñ÷¸ò÷èê
    int n = 1;//×èñëî áóäåò ñîäåðæГ*ГІГј Г§Г*Г*ìåГ*Г*òåëü äðîáè
    while(true)
    {
        //ÎðãГ*Г*ГЁГ§Г*öèÿ áåçîïГ*Г±Г*îãî ââîäГ*
        do
        {
            cin.clear();
            cin.sync();
            cout<<"Enter divider : ";
        }
        while(!(cin>>n));
        //Âûâîä ГІГ*áëèöû ïðîñòûõ äðîáåé
        cout<<"  n\t1/n = "<<endl;
        for(i = 2; i < n; i++)
        {
            if(isSimpleDigit(i))
                cout<<i<<"\t1/"<<i<<" = "<<1.0/i<<endl;
        }
    }
    return 0;
}
Миниатюры
Найти все дроби и их количество, знаменатель которых меньше заданного числа  
cmath
Модератор
2433 / 1652 / 133
Регистрация: 11.08.2012
Сообщений: 3,294
Завершенные тесты: 5
02.10.2012, 15:30 #7
Дробь, содержащая лишь числитель и знаменатель, называется простой.
из учебника по математике.
Исходя из этого, мне -=ЮрА=-, непонятно зачем вам функция проверки числа: является оно простым. Поясните плиз.
-=ЮрА=-
02.10.2012, 16:40
  #8

Не по теме:

Цитата Сообщение от Hydrogen Посмотреть сообщение
Дробь, содержащая лишь числитель и знаменатель, называется простой.
- а это простая дробь 5/2?
Цитата Сообщение от varostislav Посмотреть сообщение
простые дроби и их количество, знаменатель которых меньше заданного натурального числа.
- тут вижу что я не совсем верно воспринял задание и проверял чтобы знаменатель был простым числом, ну и бог с ним ТСу помогли и без моего...

cmath
Модератор
2433 / 1652 / 133
Регистрация: 11.08.2012
Сообщений: 3,294
Завершенные тесты: 5
02.10.2012, 17:01 #9
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
а это простая дробь 5/2?
Неправильная. Но чтобы сие выяснить (правильная/неправильная) надо делить числитель на знаменатель.
C++
1
2
3
int p=5;
int q=2;
int z=p/q; // =2 итого: дробь неправильная, был бы 0, была бы правильной
Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
простым
Я, признаться, по-началу подумал, что числитель со знаменателем должны быть взаимно просты. Потом напряг свою память, вспомнил, что такое простая дробь и выдал result. Математик хех..

-=ЮрА=-
02.10.2012, 19:42
  #10

Не по теме:

Hydrogen, неправильная дробь определяется проще - дробь у которой числитель по модулю больше знаменателя.
PS:Сутра воспринял задание - вывести дроби у которых знаменатель простое число, как вариант кому понадобиться такое задание прошу в пост 6

varostislav
3 / 3 / 0
Регистрация: 30.09.2012
Сообщений: 49
02.10.2012, 21:23  [ТС] #11
Спасибо всем.
varostislav
3 / 3 / 0
Регистрация: 30.09.2012
Сообщений: 49
03.10.2012, 22:35  [ТС] #12
Цитата Сообщение от Hydrogen Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int n, count = 0;
 
cin >> n; // вводим натуральное число, меньше которого наш знаменатель
 
for(int i = 2; i < n+1; i++)
{
     for(int j = 1; j < i; j++)
     {
          cout<< j << "/" << i << endl; // выводим дроби на экран
          count++; // и считаем их количество
     }
}
 
cout << "Quantaty: " << count;
Твоя задача мне как раз подходит, но она выдает числа, например : 2/4,3/9 и так далее. дроби которые при сокращении будут являться уже существующими в списке ранее. как можно написать дополнительное условие, чтобы сократимые дроби не попадали в список.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 22:35
Привет! Вот еще темы с ответами:

Найти n первых простых чисел, сумма цифр у которых меньше заданного числа - C++
Помогите написать программу! Условие: найти n первых простых чисел, сумма цифр у которых меньше заданного m.

В файле определить все правильные несократимые дроби, знаменатели которых меньше N - C++
ПОЖАЛУЙСТА ПОМОГИТЕ! ОЧЕНЬ СРОЧНО, ЗАВТРА СДАВАТЬ НУЖНО! В текстовом файле содержатся дроби, записанные в формате «Числитель /...

Найти все простые числа, не превосходящие заданного числа, сумма цифр которых, также является простым числом - C++
Срочно нужен код программы в C++ (желательно с комментариями). Я бы разобрался и сам, но на это уйдет время, которого у меня нет :( ...

Определить являются ли числа из заданного набора равными или все они не меньше заданного - C++
1. Даны n целых чисел. Определить, являются ли эти числа равными или все они не меньше заданного А.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.10.2012, 22:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru