当前位置:网站首页>A - Bi-shoe and Phi-shoe
A - Bi-shoe and Phi-shoe
2022-06-28 08:10:00 【Angeliaaa】
Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popular coach for his success. He needs some bamboos for his students, so he asked his assistant Bi-Shoe to go to the market and buy them. Plenty of Bamboos of all possible integer lengths (yes!) are available in the market. According to Xzhila tradition,
Score of a bamboo = Φ (bamboo's length)
(Xzhilans are really fond of number theory). For your information, Φ (n) = numbers less than n which are relatively prime (having no common divisor other than 1) to n. So, score of a bamboo of length 9 is 6 as 1, 2, 4, 5, 7, 8 are relatively prime to 9.
The assistant Bi-shoe has to buy one bamboo for each student. As a twist, each pole-vault student of Phi-shoe has a lucky number. Bi-shoe wants to buy bamboos such that each of them gets a bamboo with a score greater than or equal to his/her lucky number. Bi-shoe wants to minimize the total amount of money spent for buying the bamboos. One unit of bamboo costs 1 Xukha. Help him.
Input
Input starts with an integer T (≤ 100), denoting the number of test cases.
Each case starts with a line containing an integer n (1 ≤ n ≤ 10000) denoting the number of students of Phi-shoe. The next line contains n space separated integers denoting the lucky numbers for the students. Each lucky number will lie in the range [1, 106].
Output
For each case, print the case number and the minimum possible money spent for buying the bamboos. See the samples for details.
Sample Input
3
5
1 2 3 4 5
6
10 11 12 13 14 15
2
1 1
Sample Output
Case 1: 22 Xukha
Case 2: 88 Xukha
Case 3: 4 Xukha
题意:给出n个幸运数字,找到欧拉函数值大于等于这些幸运数字的x,使x的值最小。
思路:因为素数的欧拉函数值就是其减1,这个题就是求最小的大于该幸运数字的素数,然后加起来即可。先进行一个素数打表,然后找到最小的大于幸运数字的素数,相加,最后得出答案。代码如下:
#include<stdio.h>
#include<string.h>
int a[1000010];
int b[1000010];
int main()
{
int T,n,i,j,t,k=1;
memset(a,0,sizeof(a));
for (i = 2; i<=1000010; i++)
{
if (a[i]==0) //0是素数
{
for (j=i+i; j<=1000010; j+=i)
a[j]=1;
}
}
a[1]=1;
scanf("%d",&T);
while(T--)
{
long long int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
for(j=b[i]+1;;j++) //此处要加1,不然t-1可能小于b[i];
{
if(a[j]==0)
{
t=j;
break;
}
}
sum=sum+t;
}
printf("Case %d: %lld Xukha\n",k++,sum);
}
return 0;
}
边栏推荐
猜你喜欢
你了解TCP協議嗎(二)?
B_ QuRT_ User_ Guide(27)
Discussion on the application of GIS 3D system in mining industry
Login common test case
Upgrade HDP spark to spark 2.4.8 without upgrading ambari
Reverse mapping of anonymous pages
887. egg drop
Almost Union-Find(带权并查集)
Three step problem of leetcode
2022巴黎时装周儿童单元6.19武汉站圆满落幕
随机推荐
sql主從複制搭建
设置网页的标题部分的图标
设置cmd的编码为utf-8
Airflow2.1.1 ultra detailed installation document
B_QuRT_User_Guide(26)
Prometheus monitoring (I)
887. egg drop
Redis cluster deployment and application scenarios
Do you know TCP protocol (2)?
Preparation for Oracle 11g RAC deployment on centos7
B_QuRT_User_Guide(28)
你了解TCP協議嗎(二)?
B_ QuRT_ User_ Guide(26)
AI chief architect 8-aica-gao Xiang, in-depth understanding and practice of propeller 2.0
Modifying the SSH default port when installing Oracle RAC makes CRS unable to install
NPM clean cache
Solve NPM err! Unexpected end of JSON input while parsing near
Leetcode摆动序列系列
cuda和cudnn和tensorrt的理解
ROS notes (09) - query and setting of parameters