练习专区
今天的一小步就是明天的一大步
Problem 1649 武林大会
Accepted: 1
Total Submit: 12
Time Limit: 1000ms
Memory Limit: 30720KB
Description
江湖召开武林大会,武林盟主大撒英雄帖,邀请各自然数英雄们都来参加,大会的一项重要活动就是比武选出108位英雄。
比武的规则是这样的:
如果参加比武的自然数是合数,则该自然数直接退出比赛,名次为0;
如果参加比武的自然数是素数,则该自然数在英雄榜的座次就是他在所有素数中的顺序号。
比如自然数2就是当然的老大,而自然数5则排名第3。
现在请你做该武林大会的裁判,对每一位参加比赛的自然数给出他们在英雄榜上的排名。
供参考的main函数:其中的Hero是个类,其成员函数show()用于输出数字的名次。
void main()
{
int n;
int k = 1;
int num;
Hero *h = NULL;
while(cin>>n)
{
cout<<"第"<>num;
h = new Hero(num);
h->show();
}
}
}
Input
输入有多组,每组的包含2行数据:第1行是个正整数N表示接下来有N位自然数英雄参加比武,第2行是有空格分隔的N个自然数。
Output
输出每一组的比武结果,若为合数输出0,若为素数输出其名次。
Sample Input
Sample Output
Hint