Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:呜呜,styc说帖代码要被鄙视的,可我实在没办法了。。。比赛时WA了N次,现在有N次了,救命啊!!!

Posted by qywyh at 2006-03-27 00:48:10 on Problem 2773
In Reply To:呜呜,styc说帖代码要被鄙视的,可我实在没办法了。。。比赛时WA了N次,现在有N次了,救命啊!!! Posted by:qywyh at 2006-03-27 00:47:45
 #include <iostream>
using namespace std;

const MAX = 1001;

int main()
{
	bool test[MAX];
	int prime[MAX];
	int i, j;
	int primeTotal;
	int inNum[1000001];
	int relaPrime[1000000];
	int m, k, kk;
	bool flag;
	int tmpK, sumPrime;
	int p;
	
	for (i=0; i < MAX; i++)
	{
		test[i] = true;
	}
	primeTotal = 0;
	for	(i=2; i < MAX; i++)
	{
		if (test[i])
		{
			prime[primeTotal++] = i;
			for (j=2; j <= MAX/i; j++)
			{
				test[i*j] = false;
			}
		}
	}
	
	while (cin >> m >> k)
	{
		if (m == 1)
		{
			cout << k << endl;
			continue;
		}
		for (i=1; i <= m; i++)
		{
			inNum[i] = 0;
		}
		for (i=0; i < primeTotal; i++)
		{
			if (m % prime[i] == 0)
			{
				for (j=1; j <= m/prime[i]; j++)
				{
					inNum[prime[i]*j] = -1;
				}
			}
		}

		sumPrime = 0;
		for (i=1; i<m; i++)
		{
			if (inNum[i] != -1)
			{
				relaPrime[sumPrime++] = i;
			}
		}

		if (k <= sumPrime)
		{
			cout << relaPrime[k-1] << endl;
		}
		else
		{
			if (k%sumPrime == 0)
			{
				cout << (m*(k/sumPrime-1)+relaPrime[sumPrime-1]) << endl;
			}
			else
			{
				cout << (m*(k/sumPrime)+relaPrime[k%sumPrime-1]) << endl;
			}
		}
	}

	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator