整数划分java代码,java 整数

输入一个整数,将该整形数进行拆分之后求和java代码

public static void main(String[] args) {

成都创新互联主营兴庆网站建设的网络公司,主营网站建设方案,成都app软件开发,兴庆h5小程序制作搭建,兴庆网站营销推广欢迎兴庆等地区企业咨询

//long a = 123456789L;

long a = new Scanner(System.in).nextLong();

int result = 0;

while (a != 0) {

result += a%10;//取个位数

a /= 10;

}

System.out.println(result);

}

求一道java程序设计题(整数划分)

这个可以用递归来实现。。。。。代码如下。。。还是想了很久弄出来的。。。。已经测试了的。。。希望能帮到你。。。

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("请输入一个整数(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);

}

}

}

运行结果示例:

请输入一个整数(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

关于java整数划分并求出划分的个数的问题,有代码,能输出整数的划分,但输出的划分个数不对。

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("请输入的整数:");

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方法返回分解的个数,所以numberDiv类不需要再定义成员变量static int num=0;。

Division方法中if ((m == 1) || (n == 1))成立时,本次是一个分解,并且不需要再递归分解,所以返回1。

Division方法中if (n == m)成立时,本次是一个分解,且需要递归分解,所以返回1+递归分解个数。

Division方法中if (m n)成立时,返回两个递归分解的个数之和。

Division方法中最后代码即为m  n,直接返回递归分解的个数。

java实现 整数拆分 希望有个算法

我给你写一个,要给分的呦。代码如下:

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);

}

}

java 整数的划分与输出

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);

}

}


名称栏目:整数划分java代码,java 整数
本文路径:http://myzitong.com/article/dsicehi.html