你输入的n,就是我程序中要求输入的digit
程序如下,使用c++编写的
#include
using namespace std;
const int MAX=10000;
int absorb(int digit);
int main()
{
int digit;
cout<
cin>>digit;
cout<
while(digit!=1)
{
int a=absorb(digit);
cout< <<"×";
digit=digit/a;
}
cout<
}
int absorb(int digit)
{
int array[MAX];
for(int i=1;i<=MAX;i++)
{
array[i-1]=i+1;
if((digit%array[i-1]==0)&&(digit/array[i-1]!=1))
{
return array[i-1];
break;
}
else if ((digit%array[i-1]==0)&&(digit/array[i-1]==1))
return array[i-1];
}
}
#include
#include
int main(){
int a,b,c,d;
scanf("%d",&a);
d=a;
for(b=2;b
{
printf("%d\n",b);
a/=b;
continue;
}
b++;
}
}
用了一点代数知识,应该能看懂吧。