【c语言趣味编程100例】爱因斯坦数学题

时间: 2023-08-15 admin 互联网

【c语言趣味编程100例】爱因斯坦数学题

【c语言趣味编程100例】爱因斯坦数学题

   问题:爱因斯坦出了一个数学题:有一个长阶梯 若每步跨2阶 则最后剩余一阶
           若每步跨3阶 最后剩余2阶 若每跨5阶 最后剩下4阶 若每步跨6阶 最后剩余5阶
           只有每次跨7阶 最后才正好一阶不剩。请问在1-N内 有多少个数能满足
    编程思路:解决该类问题,我们可以用穷举法进行求解,通过一个while循环 可以作为非法字符的判断
           因此,使用if判断 当条件 都成立的成立的时候 输出结果

#include<stdio.h>
void main(){

	/*
	问题:爱因斯坦出了一个数学题:有一个长阶梯 若每步跨2阶 则最后剩余一阶
	若每步跨3阶 最后剩余2阶 若每跨5阶 最后剩下4阶 若每步跨6阶 最后剩余5阶
	只有每次跨7阶 最后才正好一阶不剩。请问在1-N内 有多少个数能满足
	编程思路:解决该类问题,我们可以用穷举法进行求解,通过一个while循环 可以作为非法字符的判断
	因此,使用if判断 当条件 都成立的成立的时候 输出结果
	**/	
	long n,sum,i;
	while(scanf("%ld",&n)!=EOF)
	{
		printf("在1-%ld之间的阶梯数为:\n",n);
		sum = 0;
		for(i=7;i<=n;i++){
			if(i%7==0)
				if(i%6==5)
					if(i%5==4)
						if(i%3==2)
						{
							sum++;
							printf("%ld,\n",i);
						}
			
		}
		printf("在1-%ld之间,有%ld个数可以满足爱因斯坦阶梯的要求",n,sum);
	}

}