#include <cstdio> #include <iostream> #include <cmath> using namespace std; const int maxlen=1000; bool isprime(int n){ if(n==1){ return false; } for(int i=2;i<=sqrt(n*1.0);i++){ if(n%i==0) return false; } return true; } int prime[maxlen]={};//开一千长的素数表 int prinum=0;// 素数表长 void printprime(){ for(int i=1;i<=maxlen;i++){ if(isprime(i)){ prime[prinum++]=i; } } } int main(){ int num; printprime();// cin>>num; cout<<num<<"="; int count=0; if(num==1){ cout<<"1"; return 0; } for(int i=0;i<maxlen&&prime[i]<=num;i++){ while(num%prime[i]==0){ if(count!=0) cout<<"*"<<prime[i]; else cout<<prime[i]; count++; num/=prime[i]; } } } |
Double click to view unformatted code.