其他分享
首页 > 其他分享> > OJ(整除)

OJ(整除)

作者:互联网

Problem Description

			求1到n范围内能被 5 或 6 或 8 整除的数的个数。				
			Input
			
			多组数据,处理到文件结尾。
每行输入一个n;
Hint
			
			1到n被6整除数的个数为n/6(取整)。	
#include<stdio.h>

int main()

{

int n,x,y,z,sum,xy,xz,yz,xyz;

while(scanf("%d",&n)!=EOF)

{

sum=0;

x=n/5;

y=n/6;

z=n/8;

xy=n/30;

xz=n/40;

yz=n/24;

xyz=n/120;

sum=x+y+z-xy-xz-yz+xyz;  //两两之间公倍数被算两次,减去一次;三个数公倍数被算三次,又被减三次,最后直接加一次

printf("%d\n",sum);

}

return 0;

}

标签:OJ,xyz,xz,yz,xy,整除,sum
来源: https://blog.csdn.net/eve_n/article/details/88541386