黑马程序员技术交流社区

标题: 这题怎么解? [打印本页]

作者: 2457740857    时间: 2016-6-1 00:23
标题: 这题怎么解?
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
作者: sishuidliunian    时间: 2016-6-1 10:33
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class Demo {
  4.         public static void main(String args[]){
  5.                 Scanner scan = new Scanner(System.in);
  6.                 int a = 2;
  7.                 System.out.println("请输入相加次数:");
  8.                 int time = scan.nextInt();
  9.                 int sum = 0;
  10.                
  11.                 for(int i = 0 ; i< time ; i++){
  12.                         int temp = 1;
  13.                         //直接赋值为a
  14.                         int num = a;
  15.                         //第一次循环不乘以10
  16.                         for(int j = 0; j < i; j++){
  17.                                 temp = 10*temp;
  18.                                 num = num + a*temp;
  19.                         }
  20.                         sum += num;
  21.                 }
  22.                 System.out.println(sum);
  23.         }
  24. }
复制代码


我得到aaaa的方法感觉有些麻烦,谁有简单点的,比如使用函数等
作者: qq2233751026    时间: 2016-6-1 10:50
public void(int num){
作者: qq2233751026    时间: 2016-6-1 11:00
/** nums为总数   第一次传个0
     num为个数
     a为数字
*/
public long adds(int nums, int num, int a){
      if(num<=1){
         return nums+a;
      }else{
        int b= 0;
        for(int i=num, i>0;i--)
           b+=a*(10^i);
        return adds(nums+b,num-1,a);
      }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2