将整数100平均分成三等份如:33,33,34(最后一份要加上平均后的余数),现在需用java编程打印如下效果:first:1-33
second:34-66
third:67-100

解决方案 »

  1.   

    求平均作为size,然后从start(例题里是1)开始加size,最后一份是(n-1)*size+1到end
      

  2.   

    System.out.println ("first:1-" + 100/3);
    System.out.println ("second:" + (100/3+1) + "-" + 100/3*2);
    System.out.println ("third:" + (100/3*2+100%3) + "-" + 100);
      

  3.   

                int int1 = 100 / 3;
                int int2 = 100 / 3;
                int int3 = 100 - int1 - int2;
                
                System.out.println("first:" + 1 + "-" + int1);
                System.out.println("second:" + (int1 + 1) + "-" + (int1 + int2));
                System.out.println("third:" + (int1 + int2 + 1) + "-" + (int1 + int2 + int3));
      

  4.   

    public class Test { 
    public static void main(String[] args) throws Exception {
    print(101, 4);
    }

    public static void print(int sum, int times){
    for (int i = 0; i < times; i++) {
    System.out.println ((i*sum/times+1) + "-" + ((i+1)*sum/times));
    }
    }

    }
      

  5.   

    楼主是要这样的吗?
    import java.util.*;public class OneOfThird {
    public static void inAndOut(){
    Scanner scan = new Scanner(System.in);

    int sum = scan.nextInt();

    do{
    System.out.println("First: 1-"+ sum/3);
    System.out.println("Second: "+ (sum/3+1) +"-"+ sum*2/3);
    System.out.println("Third: "+ (sum*2/3+1) +"-"+ sum);

    sum = scan.nextInt();
    }while (sum > 3);

    System.out.print("Exit!");
    return;
    }
    public static void main(String args[]){
    inAndOut();
    }
    }结果:
    100
    First: 1-33
    Second: 34-66
    Third: 67-100
    100
    First: 1-33
    Second: 34-66
    Third: 67-100
    0
    Exit!
      

  6.   


    这种方法可以传入任何一个数字 可以分为任何份数;楼主参考一下吧public void SpiltNum(int number, int n)
    {
    String str = "";
    int mm = 0;
    for (int i = 1; i <= n; i++)
    {
    try
    {
    if (i == n)
    {
    str = str + "," + String.valueOf(number - mm);
    break;
    }
    String m = String.valueOf(number / n);
    mm += number / n;
    str = str + "," + m;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }
    if(str.startsWith(","))
    {
    str=str.substring(1);
    }
    String strTemp[]=str.split("[,]");
    for(int j=1;j<=strTemp.length;j++)
    {
    System.out.println("第"+j+"个数字为:"+strTemp[j-1]);
    }
    }
      

  7.   


    public void spiltNum(int number, int n) {
    int result = number / n;
    int remain = number % n;
    for (int i = 0; i < n; i++) {
    System.out.println((result * i + 1) + "-" + (i != n - 1 ? result * (i + 1) : result * (i + 1) + remain));
    }
    }
      

  8.   

    public void spiltNum(int number, int n) {
            int result = number / n;
            int remain = number % n;
            for (int i = 0; i < n; i++) {
                System.out.println((result * i + 1) + "-" + (i != n - 1 ? result * (i + 1) : result * (i + 1) + remain));
            }
        }这个可以,需要2个参数,输入一个整数,然后输入分成几部分的数,最后是打印.应该是很好的程序.
      

  9.   


    import java.util.*;public class SpiltNumber{
       
    public static void SpiltNum(int number, int n){ if(!(number>n))
    {
    System.out.println("输入有误!");
    System.exit(0);
    }

                    int a=number/n;         for(int i=1;i<n;i++)
            {
    System.out.println("第"+i+"段为:"+(a*(i-1)+1)+"--"+(a*i));
            }
            System.out.println("第"+n+"段为:"+(a*(n-1)+1)+"--"+number);
            }
            public static void main(String args[]){

    int a,b;
    System.out.println("请输入原始数字a与分割段数b(a,b均为大于0的整数,且a>b),以空格隔开:");
    Scanner sc=new Scanner(System.in);
    try{
    a=sc.nextInt();
    b=sc.nextInt();
    SpiltNum(a,b);    
    }catch(InputMismatchException e){};
            }
    }
      

  10.   

    public class text9 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    f(100,3);
    }


    //将数字n分为s份
        public static void f(int n,int s)
        {
        
         int a[]=new int[s];
        
         int average=n/s;
         int lastnum=average+n%s;
        
         for(int i=0;i<a.length-1;i++)
         {
         a[i]=average;
         }
             
         a[s-1]=lastnum;
        
         f1(a,n,average);
        }


        
        //将数组打印出来
        public static void f1(int a[],int n,int average)
        {
         int i=1;
     
         for(;i<=n-a[a.length-1];i++)
         {
         if(i%average!=0)
         {
         System.out.print(i+" ");
         }
         else
         {
         System.out.print(i+" ");
         System.out.println();
         }
        
         }
        
         for(;i<=n;i++)
         {
         System.out.print(i+" ");
         }
        
        
        
        }






    }