public?static?void?main(String[]?args)?{

成都創(chuàng)新互聯(lián)主營興慶網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app軟件開發(fā),興慶h5小程序制作搭建,興慶網(wǎng)站營銷推廣歡迎興慶等地區(qū)企業(yè)咨詢
//long?a?=?123456789L;
long?a?=?new?Scanner(System.in).nextLong();
int?result?=?0;
while?(a?!=?0)?{
result?+=?a%10;//取個位數(shù)
a?/=?10;
}
System.out.println(result);
}
這個可以用遞歸來實現(xiàn)。。。。。代碼如下。。。還是想了很久弄出來的。。。。已經(jīng)測試了的。。。希望能幫到你。。。
import
java.util.Scanner;
public
class
Test
{
public
static
void
huafenD(int
oldData,int
j,
int
n,StringBuffer
result){
StringBuffer
r
=
new
StringBuffer(result);
for(
int
i
=
j;i=n;i++){
if(i==ni!=oldData)
{
result.append(i);
System.out.println(result.toString());
result
=
new
StringBuffer(r);
}
else
if(i!=oldData){
result.append(i);
result.append("+");
huafenD(oldData,i,n-i,result);
result
=
new
StringBuffer(r);
}
}
}
public
static
void
main(String
args[])
{
Scanner
in
=
new
Scanner(System.in);
System.out.println("請輸入一個整數(shù)(1-10)");
int
data
=
in.nextInt();
while(data1||data10){
System.out.println("您的輸入
不符合要求,請重新輸入");
data
=
in.nextInt();
}
if(data==1)System.out.println("無需劃分");
else
{
StringBuffer
sb
=
new
StringBuffer();
huafenD(data,1,data,sb);
}
}
}
運行結(jié)果示例:
請輸入一個整數(shù)(1-10)
6
1+1+1+1+1+1
1+1+1+1+2
1+1+1+3
1+1+2+2
1+1+4
1+2+3
1+5
2+2+2
2+4
3+3
import?java.util.Scanner;
public?class?numberDiv?{
//?private?static?final?huafen?numberrDiv?=?null;
//?static?int?d[]=new?int[32];
public?static?void?main(String[]?args)?{
System.out.println("請輸入的整數(shù):");
Scanner?sc?=?new?Scanner(System.in);
int?number?=?sc.nextInt();
int?num?=?numberDiv.Division(number,?number,?"");
System.out.println("num="?+?num);
}
public?static?int?Division(int?m,?int?n,?String?str)?{
if?((m?=?0)?||?(n?=?0))
return?0;
if?((m?==?1)?||?(n?==?1))?{
System.out.print(str);
for?(int?i?=?1;?i??m;?i++)?{
System.out.print("1+");
}
System.out.println("1");
return?1;
}
if?(n?==?m)?{
System.out.println(str?+?m);
return?1?+?numberDiv.Division(m,?n?-?1,?str);
}
if?(m??n)?{
int?n1?=?numberDiv.Division(m?-?n,?n,?str?+?n?+?"+");
int?n2?=?numberDiv.Division(m,?n?-?1,?str);
return?n1?+?n2;
}
return?numberDiv.Division(m,?m,?str);
}
}
Division方法返回分解的個數(shù),所以numberDiv類不需要再定義成員變量static int num=0;。
Division方法中if ((m == 1) || (n == 1))成立時,本次是一個分解,并且不需要再遞歸分解,所以返回1。
Division方法中if (n == m)成立時,本次是一個分解,且需要遞歸分解,所以返回1+遞歸分解個數(shù)。
Division方法中if (m n)成立時,返回兩個遞歸分解的個數(shù)之和。
Division方法中最后代碼即為m? n,直接返回遞歸分解的個數(shù)。
我給你寫一個,要給分的呦。代碼如下:
import java.util.ArrayList;
import java.util.List;
public class Testxxx {
public void chaifen(int n){
List list = new ArrayList();
chaifendigui(n,list);
}
public void chaifendigui(int n, List list) {
// TODO Auto-generated method stub
for (int i = 1; i = n; i++) {
System.out.print(i+" ");
if(ni){
List list2 = new ArrayList();
list2.addAll(list);
list2.add(i);
chaifendigui(n-i,list2);
}else{
System.out.println();
for (int j = 0; j list.size()-1; j++) {
System.out.print(list.get(j)+" ");
}
}
}
}
public static void main(String[] args) {
Testxxx xx = new Testxxx();
xx.chaifen(10);
}
}
import java.util.Scanner;
public class Mytest
{
public void p(int t1)
{
p2(t1, "");
}
private void p2(int t1, String t2)
{
if(t2.equals("")){
System.out.println(t1);
}
for (int i = 1; i = t1 / 2; i++)
{
if (t2.length() 0)
{
if (iInteger.parseInt(t2.charAt(1)+"")) continue;
System.out.println((t1 - i) + "+" + i + t2);
p2((t1 - i), "+" + i + t2);
}
else
{
System.out.println((t1 - i) + "+" + i);
p2((t1 - i), "+" + i);
}
}
}
public static void main(String[] args)
{
Mytest x = new Mytest();
System.out.println("please input a number:");
Scanner s=new Scanner(System.in);
int t1 = s.nextInt();
x.p(t1);
}
}
網(wǎng)頁名稱:整數(shù)劃分java代碼,java 整數(shù)
瀏覽路徑:http://chinadenli.net/article45/dsicehi.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、商城網(wǎng)站、品牌網(wǎng)站設計、品牌網(wǎng)站建設、網(wǎng)頁設計公司、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)