问题描述:
一群人围坐成一圈玩报数的游戏。
游戏规则是:从1开始报数,若遇到7的倍数或者个位为7的数则击掌代替,若犯错则要受罚。
可是这些人都太聪明了,竟然没人犯错!
请问同样聪明的你,现在当报数到 N(0<N<=10^7 时,击掌共次数是多少?
原因分析:
由题可得应将 重心放在既是7的倍数且各位为7的数字上。
#分析
先设置变量
int n,i,a=0;
根据题意输入n,即,
scanf("%d",&n);
因为需输出从1到n的符合条件的数所以利用循环,以及if判断完成即,
for(i=1;i<n;i++){
if(i%107||i%70){
a++;
}
}
输出结果即,
printf("%d\n",a);
return 0;
}
#include<stdio.h>
int main(){
int n,i,a=0;
scanf("%d",&n);
for(i=1;i<n;i++){
if(i%10==7||i%7==0){
a++;
}
}
printf("%d\n",a);
return 0;
}