
寻找因子个数为n的最小整数x
输入描述:输入整数n。(1<=n<=1000)
输出描述:输出x。
示例1:
输入 3,输出 4;
解释:因子个数为3的最小整数为4,4具有3个因数,分别为:1,2,4
#include
#include
using namespace std;
int ans[1000010],cnt[1000010];
int main (){
std::ios::sync_with_stdio(false);
memset(ans,-1,sizeof(ans));
for(int i = 1; i <= 1000005;i++){
for(int j = i;j <= 1000005;j+=i){
cnt[j]++;
}
if(ans[cnt[i]]==-1)
ans[cnt[i]]=i;
}
int n;
cin>>n;
cout<<ans[n]<<endl;
}
X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。
输入描述:输入整数n。(1<=n<=1000000) 表示货币的最大面额
输出描述:输出货币的种类。
示例1:输入 10,输出 3
import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str_0 = scan.nextLine().trim();
int n = Integer.parseInt(str_0);
scan.close();
int result = solution(n);
System.out.println(result);
}
public static int solution(int n) {
int result = 0;
while (n != 1) {
result++;
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
n /= i;
break;
}
}
}
result++;
return result;
}
}