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

为什么我的算法在PTA中输出一个和的每一个数字都失败了?

甘学潞
2023-03-14

我写了一些代码来解决下面的问题。我有trid一些测试用例,它们都通过了,但当我提交我的答案自动标记时,结果是失败。我不知道问题出在哪里。

下面是问题和相应的链接:

12345
one five

下面是我的代码(在提交给系统之前,它需要替换类名为Main):

package com.maxim.advance;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

public static void main(String args[]) {
    Scanner scanner = new Scanner(System.in);
    String input = scanner.nextLine();
    scanner.close();
    int length = input.length();
    int sum = 0;
    for (int index = 0; index < length; index++) {
        sum += input.charAt(index) - '0';
    }
    // Consider sum == 0 case;
    if (sum == 0) {
        System.out.print("zero");
    }

    String[] names = new String[] {
            "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
    };


    List<String> outputs = new ArrayList<String> (100);
    while (sum > 0) {
        outputs.add(names[sum % 10]);
        sum = sum / 10;
    }


    int size = outputs.size();

    for (int i = size - 1; i >= 0; i--) {
        if (i > 0) {
            System.out.print(outputs.get(i) + " ");
        } else {
            System.out.print(outputs.get(i));
        }

    }
}
}

下面的C++代码是正确的,并且总是通过

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
long int tmp=0;
for(int i=0;i<s.size();i++){
    tmp+=(s[i]-'0');
}
string match[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
vector<string> v;
long int sum=tmp;
while(sum){
    v.push_back(match[sum%10]);
    sum/=10;
}

reverse(v.begin(),v.end());
if(tmp==0)// 
cout<<"zero";
else
for(int i=0;i<v.size();i++){
    if(i==0)
    cout<<v[i];
    else
    cout<<" "<<v[i];
}
return 0;
}

共有1个答案

壤驷高洁
2023-03-14

正如一位网友的建议,我删除了包声明后它就过去了,这真的很奇怪。

 类似资料:
  • python代码:代码地址: node.js代码: go 代码:代码地址: 请大佬指教为什么我参考python代码写的node.js代码最后输出的内容是不一样的,py版和go版的可以解密成功,node.js的代码可以运行,但是最后解密出来的是不对的?是因为aes-128-ecb算法需要分块解密吗?

  • py代码如下: 参考py写的node.js代码如下 node.js 的解密参数全是和py的一样,打印出来的key也是一样的,说明makeKey方法是一样的, 就是接下来的rc4解密,不知道是我node.js哪里写的不对,最后解密出来的verifierHash和 hash 不一样,求大神解答下,是不是node.js这里的rc4解密有问题导致的,还是哪里有问题?

  • python 代码:地址: node.js 代码: python 输入输出: node.js 输入输出: 请大佬指教为什么我参考 python 代码写的 node.js 代码最后输出的内容是不一样的?

  • 是的,我知道《埃拉托斯特尼筛》在标准的图书馆Prime类中,但我正在尝试实现自己的练习。 我正在逐字逐句地按照维基百科上的描述进行操作: 通过Eratosthenes的方法找到所有小于或等于给定整数n的素数:1.创建一个从2到n的连续整数列表:(2,3,4,…, n)。 2.最初,让p等于2,第一个素数。 3.从p开始,通过以p为增量计数到n来枚举其倍数,并在列表中标记它们(这些将是2p,3p,4

  • 问题内容: 我认为您可以在类中定义“ ”或“ ”,但是为什么都在django.utils.datastructures.py中定义。 我的代码: datastructures.py: 以及将在什么情况下致电。 谢谢 问题答案: 您可以定义一个或两个的和。 必须返回一个对象- 可以是一个新对象(通常将任务委派给该对象),一个现有对象(以实现单例,从池中“回收”实例,依此类推),甚至可以 不是 一个实