a.cpp

来自「北大acm平台正版源代码acm2749」· C++ 代码 · 共 66 行

CPP
66
字号
#include<iostream>
#include<cmath>
using namespace std;
int num;
void redu(int a){
	int i=2;
	for(;i<=a;i++){
		if(a%i==0)
			if(i==a)
				num++;
			else{
				num++;redu(a/i);
			}
			break;
	}
}
void main(){
	int n;
	cin>>n;
	for(;n>0;n--){
		int a;
		cin>>a;
		redu(a);
		cout<<pow(2,num-1)<<endl;
	}
}
#include<iostream>
#include<cmath>
using namespace std;
int fenjie(int i,int k)
{
	int c[200]={0},b[200]={0};
	int num=0,t=0,r,s;
	for(int j=i;j<=sqrt(k);j++)
	{
		if(k%j==0)
		{
			c[j]=j;
			b[j]=k/j;
			num++;
		}
	}
	if(num==0)
		return 0;
	else 
	{
		t=num;
		for(j=i;j<=sqrt(k);j++)
			if(c[j]!=0&&c[j]!=1)
			{
				r=c[j];s=b[j];
				t=t+fenjie(r,s);
			}
		return t;
	}
}
void main()
{
	int n,a[100];
	cin>>n;
	for(int e=0;e<n;e++)
		cin>>a[e];
	for(e=0;e<n;e++)
		cout<<fenjie(1,a[e])<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?