C语言入门 - 迷信的吴医生和机智的护士

问题:
吴医生是个很迷信的医生,他认为与4相关的数字都会带来厄运,因此他拒绝为所有挂号单序号中有数字4,或序号能被4整除的病人看病。(每张挂号单有一个唯的序号)
小李是一名年轻的护士,虽然对吴医生的怪癖好不能理解,但他是内科最权威的医生, 小李无法阻止他的我行素。为了能让每个病人都顺利的看上病,小李决定只给病人们不含有数字4,并且不被4整除的序号挂单。
今天门诊部刚开门,就来了n位病人都要挂吴医生的专家门诊(n为正整数,且 n < 50),请问小李能开给这n位病人的挂号单的序号总和最小是多少?


在这里插入图片描述

代码如下:

#include<stdio.h>

int four(int x)//函数判断编号是否与4有关?
{
	if(x % 4 == 0 || x % 10 == 4 || (x / 10) % 10 == 4)//被4整除,个位上有4,其他位有4
		return 1;
	else
		return 0;

}
int main ()
{
	
	int k   = 1;//初始化编号,从1开始:1、2、3、5、6、7、9...

	int sum = 0;//计数 :计算编号的总和

	int n;      //病人人数变量    

	scanf("%d",&n);//输入人数=n个人
	printf("human(number) is :%d\n",n);//

	
	while(n > 0) //for( ;n > 0;n--)
	{	

		if(four(k) == 0)
			
		{
			printf("k(number) is :%d\n",k);//

			sum = sum + k;
			
			k++;

			n--;
			
		}
		else
		{
			k++;
				
		}
	
	}

	printf("sum is:%d\n",sum);//

	return 0;

}

参考GitHub:libpku

发布了75 篇原创文章 · 获赞 58 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/Naiva/article/details/89585759