ACM暑期培训第一次积分赛 G又是毕业季(代码就一行)

G 又是毕业季
时间限制内存限制出题人
1 Second 512 Mb 丁金峰
题目描述
为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排。可是如何挑
呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数
(这不是迷信哦)。这可难为了他,请你帮帮忙吧!
PS:一个数的最大公约数即本身。
输入
多组输入,两个空格分开的正整数n和k。(n大于等于k,k大于等于1)
输出
一个整数,为最大的默契值。
输入样例
4 2
输出样例
2
提示
对于20%的数据,k小于等于2,n小于等于1000
对于另30%的数据,k大于等于10,n小于等于100
对于100%的数据,k小于等于1e9,n小于等于1e9(神犇学校,人数众多)

题意:就是从1到n里挑k个数,保证这k个数的公约数最大,并求其最大公约数

思路:一开始是想找到一个n,然后这k个数就分别是n,n方,n的三次方......,结果不对

实际答案是n/k

即这个数是x,2x,3x....kx,kx=n保证让x最大,可得最大公约数x=n/k

代码:

#include <stdio.h>
int main()
{
	int n,k;
	while(~scanf("%d%d",&n,&k))
	printf("%d\n",n/k);
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/nanfengzhiwoxin/article/details/81171867
今日推荐