publicclassTest{/*創建類*/
publicstaticvoidmain(String[]args){
System.out.println(dg(100));
}
staticintdg(inti){/*定義變數*/
intsum;
if(i==1)/*假設條件*/
return1;
else
sum=i+dg(i-1);/*1~100的和的表達式*/
returnsum;/*返回結果*/
}
}
遞歸是計算機科學的一個重要概念,遞歸的方法是程序設計中有效的方法,採用遞歸編寫。
遞歸能使程序變得簡潔和清晰。
每次調用在規模上都有所縮小(通常是減半);
相鄰兩次重復之間有緊密的聯系,前一次要為後一次做准備(通常前一次的輸出就作為後一次的輸入);
在問題的規模極小時必須用直接給出解答而不再進行遞歸調用,因而每次遞歸調用都是有條件的(以規模未達到直接解答的大小為條件),無條件遞歸調用將會成為死循環而不能正常結束。
⑵ JAVA 用遞歸函數 實現1+2+3+...+100 要求:寫出一個求N項和的函數add 並在主函數中調用
publicclassApp{
//主函數1+..100
publicstaticvoidmain(String[]args){
intsum=add(100);
System.out.println(sum);
}
//功能函數add
privatestaticintadd(intn){
returnn>0?n+add(n-1):0;
}
}
⑶ java編程求1+2+3…+100的和(用遞歸法)
public class dgQH {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = sdg(100);
System.out.println(sum);
}
static int sdg(int x)
{
if(x==1)
{
return 1;
}
else{
return x+sdg(x-1);
}
}
}
⑷ 求高手編程 JAVA語言用遞歸演算法求和 1,2,3,4...100 或者是1/1,1/3,1/5....明天用的 救命啊 .......
第一題:
public class CalSum {
public static void main(String[] args)
{
CalSum calSum = new CalSum();
int result = calSum.calculate(100);
System.out.println("1+2+3+...+100="+result);
}
public int calculate(int number)
{
int result = 0;
if(number == 1)
{
result = 1;
}
else
{
result = number + calculate(number -1);
}
return result;
}
}
⑸ JAVA:請使用遞歸實現1到1000的整數累加,並把結果輸出到控制台
intsum(intn){
if(n==1)
return1;
else
returnsum(n-1)+n;
}
⑹ 在JAVA中什麼是遞歸有什麼用
Java方法遞歸是指在一個方法的內部調用自身的過程,以此類推就是java方法遞歸的理解思想,具體來講就是把規模大的問題轉化為規模小的相似的子問題來解決。在函數實現時,因為解決大問題的方法和解決小問題的方法往往是同一個方法,所以就產生了函數調用它自身的情況。另外這個解決問題的函數必須有明顯的結束條件,這樣就不會產生無限遞歸的情況了。因此,java方法遞歸的兩個條件就是,一通過遞歸調用來縮小問題規模,且新問題與原問題有著相同的形式;二存在一種簡單情境,可以使遞歸在簡單情境下退出。
⑺ JAVA遞歸1~100;求大神解釋一下
n表示你的第幾次,當n=100時,你想獲得當n=99時候他的值是多少,當你n=99時候你想知道n=98時候的結果,直到你到了n=1時,他的值你是直到的是1,所以你就知道n=2的時候結果為3,以此類推。
⑻ java 請用 遞歸 實現 1 至 100 的和
public class Test {
public static void main(String[] args) {
System.out.println(dg(100));
}
static int dg(int i) {
int sum;
if (i == 1)
return 1;
else
sum = i + dg(i - 1);
return sum;
}
}
⑼ java編程求1+2+3…+100的和(用遞歸法)
核心代碼如下:
int sum=0;
for(int i=1;i<=100;i++)
{
sum+=i;
}
System.out.print(sum);
}
}
當然你可以將核心代碼直接放在main()函數中,也可以放在某個函數中(如sum()),根據你自己的需要進行選擇,如果放置在sum()函數中,可以讓函數有返回值int,函數體中加return 語句,直接將變數sum返回,這樣就不必使用System.out.print()函數進行輸出了。
⑽ java編程求1+2+3…+100的和(用遞歸法)
public int getSum(int a,int b,int s){
a = a+1;
s = s+a;
if(a>b){
return s;
}else{
return getSum(a,b,s);
}
}
t.getSum(1,100,0);