1049.c

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

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

int primes[1229];
int pprimes[1229];
int nprimes;
int nums[10];

void makeprimes()
{
	int i, j, k;

	primes[0]=2;
	primes[1]=3;
	nprimes=2;
  
	for(i=5;i<10000;i+=2)
	{
		for(j=1,k=0;primes[j]<=floor(sqrt(i));j++)
		{
			if(i%primes[j]==0)
			{
				k=1;
				break;
			}
		}
		if(!k)
		{
			primes[nprimes++]=i;
		}
	}
}

void main()
{
	int i, j, n;
	unsigned long res;

	for(i=0;i<10;i++)
    scanf("%d",&nums[i]);

	makeprimes();
  
	for(i=0;i<10;i++)
	{
		while(nums[i]>1)
		{
			for(j=0;(j<nprimes)&&(nums[i]>1)&&(nums[i]>=primes[j]);j++)
			{
				while(nums[i]%primes[j]==0)
				{
					pprimes[j]++;
					nums[i]/=primes[j];
				}
			}
		}
	}
	res=1;
	for(i=0;i<nprimes;i++)
	{
		if(pprimes[i])
		{
			res*=pprimes[i]+1;
		}
	}
	printf("%lu",res%10);
	getch();
}

⌨️ 快捷键说明

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