您的位置:首页 > 编程语言 > C语言/C++

(C语言)关于3 4 5倍数拉灯问题求解

2019-03-06 22:21 218 查看

有1000个灯;亮着的,某人把3的倍数拉了一次,、
5的倍数拉了一次
7的倍数拉了一次
求最后还剩下几盏灯亮着的 ?

#include<stdio.h>
int main()
{
int a[1001];   //舍弃零便于计算
int i,j;
int sum=0;
for(i=1;i<1001;i++)
{
a[i]=1;	 //先将全部灯元素赋值1
}
for(i=1;i<1001;i++)
{
if(i%3==0)
a[i]=-a[i];      //如果能被3整除就加个负号
if(i%5==0)
a[i]=-a[i];   //如果能被3整除,又能被5整除就相当于拉了两次灯,还是正1
if(i%7==0)
a[i]=-a[i];
}
for(j=1;j<1001;j++)
{
if(a[j]==1)     //正1 就相当于灯还是开着的
sum++;      //统计所有正一数的和
}
printf("%d",sum);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: