遞迴遞推練習 M

2021-07-30 06:20:27 字數 450 閱讀 8287

題目要求:

對乙個自然數n ( 1 <= n <= 50 ) ,n(1<=n<=50)可以分解成若干個數字(數字可以是1,2,3,….,9)之和,如何分解能使這些數字的乘積最大。

題目思路:

由數學知識可知,只有把n分成盡可能多的3,它們的乘積才能最大(當只剩下4時不用再分,因為: 4 > 3*1。利用while函式當n>4時,n=n-3,n為3累乘的值,輸出3,同時用m計算3de個數,當n<4時輸出m、n*n的值。

細節處理:

用while函式巢狀while函式。

#include

using

namespace std;

intmain

() cout<" "

}

感悟:尋找數學上的一些公式定義有助於更好的理解題意。

遞推遞迴練習M 數值分解

description 對乙個自然數n 1 n 50 n可以分解成若干個數字 數字可以是1,2,3,9 之和,問題是如何分解能使這些數字的乘積最大。input 輸入資料有多組,每組佔一行,每行包含乙個自然數n 1 n 50 輸入檔案直到eof為止!output 對每組輸入,輸出有2行。第一行是n分解...

遞推遞迴練習M數值分解

description 對乙個自然數n 1 n 50 n可以分解成若干個數字 數字可以是1,2,3,9 之和,問題是如何分解能使這些數字的乘積最大。input 輸入資料有多組,每組佔一行,每行包含乙個自然數n 1 n 50 輸入檔案直到eof為止!output 對每組輸入,輸出有2行。第一行是n分解...

遞推遞迴練習 M 數值分解

description 對乙個自然數n 1 n 50 n可以分解成若干個數字 數字可以是1,2,3,9 之和,問題是如何分解能使這些數字的乘積最大。input 輸入資料有多組,每組佔一行,每行包含乙個自然數n 1 n 50 輸入檔案直到eof為止!output 對每組輸入,輸出有2行。第一行是n分解...