讨论 / 18ms
luosiyuan 2017-10-01 05:56:14
点我顶贴 收藏 删除
#include<bits/stdc++.h>

using namespace std;

void prime(long long int n) {

long long int i;

for(i=2; i<=sqrt(n); i++) {

if(n%i==0) {

cout<<i<<' ';

prime(n/i);

return ;

}

}

cout<<n;

}

int main() {

long long int n;

for(int i=1; i<=1; i++) {

cin>>n;

prime(n);

}

}

#1 lijie201602@2017-10-04 04:07:25
回复 删除
方法和你很累同,不过我10ms

#2 lijie201602@2017-10-04 04:07:27
回复 删除
#include<cstdio>

#include<cmath>

typedef long long ll;

ll n;

void print(ll n)

{

for(ll i=2;i<=sqrt(n);i++)

if(n%i==0)

{

printf("%lld ",i);

print(n/i);

return ;

}

printf("%lld",n);

}

int main()

{

scanf("%lld",&n);

print(n);

return 0;

}

#3 lijie201602@2017-10-04 04:07:49
回复 删除
事实证明scanf、printf比cin、cout快很多
#4 Dream86333@2021-11-25 03:10:14
回复 删除
#include<iostream>

using namespace std;

int main()

{

long long n,i=2;

cin>>n;

while(n!=1)

{

while(n%i==0)

{

n/=i;

cout<<i<<" ";

}

i++;

}

return 0;

}

查看更多回复
提交回复