解题思路:

新手见解,欢迎指正!

首先根据题目的意思,我们可以理解为以下几个式子

(n表示求解数,x,y表示商)


n/8=x1 ...1

x1/8=x2 ...1

x2/8=a ...1

n/17=y ...4

y/17=2a ...15


之后我们把这几个式子整合一下,用带入消元法可以得到以下两个关于a的式子


(((n-1)/8)-1)/8-7)/8=a

((n-4)/17)-15)/17=2a


再把这两个式子合并就得到了判断n的条件

(((n-1)/8)-1)/8-7)/8*2==((n-4)/17)-15)/17


再通过题目条件我们可以得知这个n的值为4+k*17,我们可以以此条件来减少循环次数


注意事项:


注意计算时的类型转换,最好在运算中使用浮点型数据,不然容易出错


参考代码:

#include<stdio.h>

int main()
{
	double N=4;
	while(1)
	{
		N+=17;
		if( ((((N-1.0)/8.0)-1.0)/8.0-7.0)/8.0*2==((N-4.0)/17.0-15.0)/17.0 )
		{
			printf("%.0llf\n",N);
			break;
		}
	}
	return 0;
}


点赞(2)
 

0.0分

7 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

safety胖 2年前 回复TA
x2%8=a...7,
应该是余7,不是余1