C++ c+中的幂函数和数组+;

C++ c+中的幂函数和数组+;,c++,arrays,sorting,vector,pow,C++,Arrays,Sorting,Vector,Pow,我正在尝试编写一个函数,它将接受一个数组或向量,并将其值取为“的幂”,然后显示它的值。我不太熟悉数组,但简单地说,我正在尝试创建类似 n = {2^1, 3^1, 5^1,2^2,3^2,5^2,....} “权力”将被循环。 然后我计划对数组进行排序,并显示第1500项 这个问题对应于只能被2,3和5整除的素数序列; 我试图找到一种比if语句和mod运算符更省时的方法。如果我没记错的话,这就是我几年前在UVa中遇到的丑陋的数字问题 解决这个问题的方法是使用优先级队列,以数字2、3和5作为初始

我正在尝试编写一个函数,它将接受一个数组或向量,并将其值取为“的幂”,然后显示它的值。我不太熟悉数组,但简单地说,我正在尝试创建类似

n = {2^1, 3^1, 5^1,2^2,3^2,5^2,....}
“权力”将被循环。 然后我计划对数组进行排序,并显示第1500项

这个问题对应于只能被2,3和5整除的素数序列;
我试图找到一种比if语句和mod运算符更省时的方法。

如果我没记错的话,这就是我几年前在UVa中遇到的丑陋的数字问题

解决这个问题的方法是使用优先级队列,以数字2、3和5作为初始值。在每个步骤中,删除最上面的值t,并在优先级队列中插入值2*t3*t5*t,重复此步骤直到找到第1500个项


查看本论坛了解更多信息:

你能展示一些你的代码吗?这里是问题和解决方案的通用版本:如果你在调用power_of()函数之前对数组进行排序,它会更快,函数很可能会运行得更快,结果也会被排序。丑陋的数字问题?