2022-10-30

【ZeroJudge】c002 10696 - f91 解法分享

點擊前往題目👉c002

我的解法

#include <iostream>
using namespace std;
int f91(int N){
	if(N <= 100){
		return f91( f91( N+11) );
	}
	else{
		return N-10;
	}
} 
int main(){
	int N;
	while(cin>>N,N!=0){
		cout<<"f91("<<N<<") = "<<f91(N)<<endl;
	}
	return 0;
}

解析

首先,通過題意,我們可以先寫出這個函式:

int f91(int N){
	if(N <= 100){
		return f91( f91( N+11) );
	}
	else{
		return N-10;
	}
} 

我們可以自訂一個叫做f91的函式,題目說:「 如果N <= 100, 那麼 f91(N) = f91( f91( N+11) );如果 N >= 101, 那麼 f91(N) = N-10」,而這個函式就是我上面放的這個。

再來,主函式部分,進入while迴圈,輸入一個叫做N的數,並且執行

cout<<"f91("<<N<<") = "<<f91(N)<<endl;

其中f91(N)部分,就是在把N回傳到我們自訂的f91函式,這個函式再return運算結果。

本站已開啟「留言編號」功能(技術提供者及其他資訊,詳見技術提供
本站自其他網站引進許多技術,受益良多,感激不盡!族繁不及備載,您可至技術提供查看本站引進之技術、技術提供者與其他資訊

沒有留言:

張貼留言

留言注意事項:

勾選「通知我」可在後續有回覆時寄信給您!

使用Safari恐無法登入留言(只能以匿名方式留言)!

敬請詳細描述問題,以方便站方迅速判斷與解答!

依據本站免責聲明,本站得逕行刪除含有不適合存在於本站的言論與字詞的發言,敬請謹慎留言!