专栏首页csjava习题练习

java习题练习

4

package day20180313;

public class Zylt {

    public static void main(String[] args) {
        
       System.out.println("第一次:"+high(100,1));
       System.out.println("第2次:"+high(100,2));
       System.out.println("第3次:"+high(100,3));
       System.out.println("第10次:"+high(100,10));    
    }
    
    static double high(double height,int n)
    {
        double sum=height;
        
        for(int i=0; i<n-1; i++)
        {
            sum+=height;
            height=height/2.0;  
        }
        
        return sum;
        
    }

}
第一次:100.0
第2次:200.0
第3次:250.0
第10次:299.609375

5

package day20180313;

public class ForNum {

    public static void main(String[] args) {
        
        System.out.println("(2,1)="+addNum(2,1));
        System.out.println("(2,2)="+addNum(2,2));
        System.out.println("(2,3)="+addNum(2,3));
        System.out.println("(2,5)="+addNum(2,5));               
    }

    
    static long addNum(int a, int n)
    {
        long sum=0; 
            
        for(int i=1; i<n+1; i++)
        {
            
          sum+=numCou(a,i); 
        }

        return sum;
    }
    
    
    //计算出数字
    static long numCou(int a, int n)
    {
        long num=a;
        long sum=0;
        
            for(int j=0; j<n; j++)
            {
                
               num=a;
                for(int k=0; k<j; k++)
                {
                  num=num*10;
                }
                sum=sum+num;
 
            }
            return sum;
    }
    
    
}
(2,1)=2
(2,2)=24
(2,3)=246
(2,5)=24690

求解一道算法题,我做了一半,大佬来试一下。

7

package day20180313;

public class Fact {
    
    final static int max=100;
    final static int Maxnum=1000000000;
    public static void main(String[] args) {
    
    
        
        long[] a=retarr(7);
        
        
          for(int i =(int) a[0] ;i>0;i--)//倒序输出每一位   
          {
                System.out.print("---------"+a[i]);
          }
          
          System.out.println("+++++++++++++");
            addarr(11);
         
    }
    
    
static void addarr(long n)
{
    
 long[] sum=new long[max];
 
 //赋值为0
 for(int k =max-1;k>0;k--)//
 {
     sum[k]=0;
 }
 
 long i;
 
 for(i=2; i<=n; i++)
 {
     
     long[] b=retarr(i);
     
      long num=0;
     for(int j=1; j<max-1; j++)
     {
       sum[j]=sum[j]+b[j]+num;
       
       if(sum[j]>10)
       {
           num=sum[j]/10;      
       }
       
      
     }
     

 }
 
 int ma=0;
    
 for(int k =max-1 ;k>0;)//倒序输出每一位   
 {
    
     if(sum[k]==0)
     {
         k--;
     }else
     {
         ma=k;
         break;
     }
  
 }
 
 System.out.print(":ma===="+ma);
 
 
 
 for(int k =ma ;k>0;k--)//倒序输出每一位   
 {
   System.out.println("结果是:"+sum[k]);
     
 }
 
 
    
    
}
    
    
    
    
//变成数组。 
    
static long[] retarr(long k)    
{
    long[] a =new long[max];
    
    long temp=0;
    int digit=1;
    long number=0;
        for(int j=1; j<digit+1; j++)
        {
          temp=fac(k);
          a[j]=temp%10;
            number=temp/10;
        }
        
        
        while(number!=0)
        {
            a[digit+1]=number%10;
            number=number/10;
            digit++;    
        }
        
       a[0]=digit;
    
      for(int i = digit;i>0;i--)//倒序输出每一位   
            System.out.print(a[i]);
      System.out.println();
    
    return a;
    
    
}
    
    
    
    //求质数的算法
    
    static long fac(long i2)
    { 
        int i=2;
        int k=(int) Math.sqrt(i2);
        if(i2==2)
            return 2;
        for( i=2; i<=k; i++)
        {
            if(i2%i==0)
            {
                break;  
            }
            
        }
        if(i>k)
        return i2;
        return 0;
    }
    
    
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c sharp 的输入,输入,switch语句。

    东风冷雪
  • 冒泡排序,选择排序,插入排序算法

    冒泡排序 思路:二二交换,可以让最大的数沉底,在length-1次,就有序了 package day20180315; public class Maopao...

    东风冷雪
  • 农村义务教师

    东风冷雪
  • Java IO学习笔记七

    爱撒谎的男孩
  • Android 项目开发填坑记 - NoSuchMethodError:(java.lang.System.arraycopy)

    版权声明:本文为[他叫自己Mr.张]的原创文章,转载请...

    他叫自己MR.张
  • WPF 类型的构造函数执行符合指定的绑定约束的调用时引发了异常

    本文告诉大家如果遇到类型“Foo.MainWindow”的构造函数执行符合指定的绑定约束的调用时引发了异常的时候可以如何知道是哪个不清真代码

    林德熙
  • 【小家java】聊聊Java中的System类

    Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特点功能。Java提供了System类和Runtime类来与程序的运行平台...

    YourBatman
  • 【PAT甲级】A+B in Hogwarts

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • C#2C++数据类型对照

    Pulsar-V
  • 第3章 System V IPC

    System V IPC: ·System V消息队列 ·System V信号量 ·System V共享内存区 ?

    _gongluck

扫码关注云+社区

领取腾讯云代金券