Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Песочница > Посчитайте


Автор: Ангелочек 1.7.2006, 21:20
Код

#include "stdafx.h"
#include <cmath>
#include "conio.h"
#include <iostream>
using namespace std;

int main()
{
    int C,K;

    C=0;
    for (K=1; K<=1000; K++)
    { if (((K%165)!=0)&&((K%385)!=0)|(K%105==0))
    C=C+1;
    }

    cout << C;

  return 0;

    
}




Студия пишет 992
На 105 делятся 105 210 315 420 525 630 735 840 945
На 165 делится 165 330 495 660 825 990
На 385 делятся 385 770
И эти множества нигде не пересекаются.  smile  По идее должно быть 1000.
Help!

Добавлено @ 21:21 
И зачем я написала во флейм.... smile  

Автор: DeadSoul 1.7.2006, 21:28
Ты подсчитала число чисел не делящяхся ни на одно из следующих чисел:105,165,385 

Автор: Ангелочек 1.7.2006, 21:32
Неа, а зачем?
Мне нужно исключить числа одновременно делящиеся на 385 и 165, а если они делятся на 105 то не исключать. Написала на Паскале и он мне 992... 

Автор: Xenon 2.7.2006, 00:21
Код

    int C,K;
    C=0;
    for (K=1; K<=1000; K++)
    { 
        if (K%165!=0 && K%385!=0 || K%105==0)
        {
            C++;
        }
    }
    cout << C;
    

Автор: Poseidon 2.7.2006, 01:15
Цитата(Ангелочек @  1.7.2006,  21:32 Найти цитируемый пост)
Написала на Паскале и он мне 992...  
  smile 
 

Автор: Xenon 2.7.2006, 01:20
Если так сильно в результате нужно получить 1000, то нужно вместно:
Код

if (K%165!=0 && K%385!=0 || K%105==0)

Написать:
Код

if (K%165!=0 || K%385!=0 || K%105==0)

Но тогда не подходит по условию вроде как, если я его провильно понял smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)