1055.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 35 行

C
35
字号
#include <stdio.h>
#include <math.h>

void main()
{
	int d[50001]={0},n,m,i,j,k;
	scanf("%d %d",&n,&m);
	for(i=m+1;i<=n;i++)
	{
		k=i;
		for(j=2;j<=ceil(sqrt(k))+1;j++)
			while(k%j==0)
			{
				d[j]++;
				k=k/j;
			}
		if(k!=1) d[k]++;
	}
	for(i=1;i<=n-m;i++)
	{
		k=i;
		for(j=2;j<=ceil(sqrt(k))+1;j++)
			while(k%j==0)
			{
				d[j]--;
				k=k/j;
			}
		if(k!=1) d[k]++;
	}
	k=0;
	for(i=2;i<=n;i++)
		if(d[i]>0) k++;
	printf("%d",k);
	getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?