0分求助
查看原帖
0分求助
1368233
liyifanglan楼主2024/8/23 14:24
#include<bits/stdc++.h>
using namespace std;

bool prime(int n){
	if (n < 2) return 0;
	for (int i = 2; i*i <= n; i++){
		if (n%i == 0) return 0;
	}
	return 1;
}
int a[55];
int main(){
	int n;
	cin >> n;
	a[1] = 1, a[2] = 1;
	for (int i = 3; i <= n; i++){
		a[i] = a[i-1]+a[i-2];
	}
	cout << a[n] << '=';
	int f = a[n];
	int cnt = 2;
	bool boo = 0;
	while (cnt <= f){
		if (n%cnt == 0){
			f/=cnt;
			if (boo == 1) cout << '*';
			cout << cnt;
			boo = 1;
		}else {
			cnt++;
			while (prime(cnt) == 0) cnt++;
		}
	}
	if (f > 1){
		if (boo == 1){
			cout << '*';
		}	
		cout << f;
	}
	return 0;
}
2024/8/23 14:24
加载中...