不知道大家在同学聚会或者其他的时候玩过一个游戏,大家轮流按顺序说数字,但是要跳过含有某个数字,和这个数字的倍数的数字,最近同学聚会,我们玩了这个游戏,我大败而归,所以,我就想写一个代码来弥补一下心中的遗憾
步骤(按照我们这种路人水平,一般是不可能超过200,所以这里我们以200为界):
第一步:分类
第一种:7的倍数---->>>就是num%7=0
第二种:含有7的数字,我们找出每一位,检验是否为7
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
void getnum(int num, int* arr)
{
int i = 0;
for (i = 0; i < 3; i++)
{
arr[2 - i] = num % 10;//我们这里,让百位在第一个,
//十位在第二个,个位在第三个
num /= 10;
}
}
int main()
{
int i = 0;
int j = 0;
int arr[3] = { 0,0,0 };
for (i = 1; i < 200; i++)
{
getnum(i, arr);
if (i % 7 == 0)
{
printf("%d\n", i);
}
else
{
for (j = 0; j < 3; j++)
{
if (arr[2 - j] == 7)
{
printf("%d\n", i);
break;
}
}
}
}
return 0;
}