SDUT 2543 ——整除 容斥原理

来源:互联网 发布:w两个世界知乎 编辑:程序博客网 时间:2024/05/18 03:02

整除

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

1n范围内能被568整除的数的个数。(0<n<10^7

输入

多组数据,处理到文件结尾。

每行输入一个n

输出

 

输出结果,每个结果占一行。

示例输入

1000

示例输出

400

提示

1到n被6整除数的个数为n/6(取整)。

来源

 von

A + B + C - AB - AC - BC + ABC;


#include <stdio.h>int main(){    int a,b,c,ab,bc,ac,abc,n,jg;    while(~scanf("%d",&n))    {        a = n / 5;        b = n / 6;        c = n / 8;        ab = n / 30;        ac = n / 40;        bc = n / 24;        abc = n / 120;        jg = a + b + c - ab - bc - ac + abc;        printf("%d\n",jg);    }    return 0;}

这里的交集是两个数的最小公倍数,而非两个数直接相乘。。。。


0 0
原创粉丝点击