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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
varostislav
 Аватар для varostislav
3 / 3 / 0
Регистрация: 30.09.2012
Сообщений: 49
02.10.2012, 09:56     Найти все дроби и их количество, знаменатель которых меньше заданного числа #1
найти все положительные простые дроби и их количество, знаменатель которых меньше заданного натурального числа. Желательно задачу простым языком с ++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2012, 09:56     Найти все дроби и их количество, знаменатель которых меньше заданного числа
Посмотрите здесь:

C++ Вывести все Простые дроби из интервала (0; 1), знаменатель которых не превышает n.
C++, напечатать все строки, длина которых меньше заданного числа C++
C++ Удалить из файла все числа меньше заданного
C++ Вводятся числитель a и знаменатель b дроби. Вывести: знак, целую часть, сокращенные числитель и знаменатель
C++ В матрице А (mxn) найти найти сумму элементов по колонкам, значения которых по модулю меньше заданного числа К
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 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
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 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
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
02.10.2012, 15:30     Найти все дроби и их количество, знаменатель которых меньше заданного числа #7
Дробь, содержащая лишь числитель и знаменатель, называется простой.
из учебника по математике.
Исходя из этого, мне -=ЮрА=-, непонятно зачем вам функция проверки числа: является оно простым. Поясните плиз.
-=ЮрА=-
02.10.2012, 16:40
  #8

Не по теме:

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

cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 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
 Аватар для varostislav
3 / 3 / 0
Регистрация: 30.09.2012
Сообщений: 49
02.10.2012, 21:23  [ТС]     Найти все дроби и их количество, знаменатель которых меньше заданного числа #11
Спасибо всем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 22:35     Найти все дроби и их количество, знаменатель которых меньше заданного числа
Еще ссылки по теме:

C++ Найти количество элементов массива, значения которых положительны, и не больше заданного числа
C++ Напечатать все значения n, при которых все числа последовательности будут не меньше а

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

Или воспользуйтесь поиском по форуму:
varostislav
 Аватар для 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 и так далее. дроби которые при сокращении будут являться уже существующими в списке ранее. как можно написать дополнительное условие, чтобы сократимые дроби не попадали в список.
Yandex
Объявления
03.10.2012, 22:35     Найти все дроби и их количество, знаменатель которых меньше заданного числа
Ответ Создать тему
Опции темы

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