当前位置: 首页 > 知识库问答 >
问题:

一系列的JAVA循环

华瀚漠
2023-03-14

我只得到一个测试用例的错误。

问题链接:https://www.hackerrank.com/challenges/java-loops/problem?isFullScreen=trueJAVA黑客等级循环问题

Sample Input

2
0 2 10
5 3 5
Sample Output

2 6 14 30 62 126 254 510 1022 2046
8 14 26 50 98

我得到了精确的输出,但是测试用例失败了。

Java代码:

import java.util.*;
import java.io.*;

class Solution{
    public static void main(String []argh){
        Scanner sc = new Scanner(System.in);
        
        int q = sc.nextInt();
        if (q==1){
        int a = sc.nextInt();

             System.out.println();

            
        }else{

        int a = sc.nextInt();
        int b = sc.nextInt();
        int n = sc.nextInt();
        
        int sum, x ;
        sum = a;
        

        for (int i=0 ; i<n ; i++){
            x = (int) (Math.pow(2,i)*b);
            sum = sum + x ;

            System.out.print(sum+" ");
        }
        }
            
    }
}

共有1个答案

商棋
2023-03-14

这是我想出的解决办法。需要对输出进行一些修改,这很容易。

    public static List<Integer> generateSequence(int a, int b, int n) {
    List<Integer> list = new ArrayList<Integer>();
    int currentValue = 0;
    for (int i = 0; i < n; i++) {
        int value = (int) Math.pow(2, i) * b;
        if (i == 0) {
            value += a;
        }
        currentValue += value;
        list.add(currentValue);
    }

    return list;
}

public static void main(String[] args) throws IOException {
    List<List<Integer>> lists = new ArrayList<>();
    try (Scanner scanner = new Scanner(System.in)) {
        int q = scanner.nextInt();
        for (int i = 0; i < q; i++) {
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            int n = scanner.nextInt();              
            lists.add(generateSequence(a, b, n));
        }
    }
    
    for (List<Integer> list : lists) {
        System.out.println(list);
    }
}
 类似资料:
  • 我只收到一个测试用例的错误。 问题链接:https://www.hackerrank.com/challenges/java-loops/problem?isFullScreen=trueJAVA黑客等级循环问题 我得到了精确的输出,但是测试用例失败了。 Java代码:

  • 假设我有一系列python函数: 我想这样称呼他们: 大概是这样的: 如果我有很多函数要调用,这是很有帮助的,但这将有for循环。在没有for循环的情况下,我是否有其他方法来执行此操作?

  • 如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。 document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); document.write(cars[4]

  • do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。 语法结构如下 do { statement } while (expression) do { 需要执行的代码 } while (条件);  demo var aNumbers = new Array(); var sMessage = "你输入了

  • 问题内容: 如何将BufferedImages数组转换为视频?我正在制作屏幕录像机。 之后我该如何压缩视频? 问题答案: 您可以使用Xuggler(在Windows,Mac或Linux上)执行此操作,以下教程将向您确切演示如何执行此操作。特别是,请参阅(我不是在开玩笑的)“如何成长球”教程,该程序可以从一系列BufferedImages(和一些音频)中提取视频。

  • 问题内容: 有没有一种方法可以轻松地在一定时间内进行for循环?(无需使用System.currentTimeMillis()自己测量时间?) 即我想在Java中执行以下操作: 谢谢 问题答案: 不,没有内置的结构可以做到这一点。 我想指出,您不应使用System.currentTimeMillis()在指定时间段内执行或延迟任务。而是使用System.nanoTime()。前一种方法在Windo