0

嗨,我目前在计算机科学学院学习,我的两个代码有问题,第一个与标题有关。我必须创建一个程序,它只接受输入的奇数位并将它们相加。老实说,我不知道如何解决这个问题,这就是我所拥有的

扫描仪输入 = 新扫描仪(System.in);

    int a;
    int b;

    System.out.println("Enter a number: ");
    a = in.nextInt();

    while (a > 0) { 
        if (a.charAt(0) % 2 != 0) {

        }
    }

我遇到的第二个问题是编写带有循环的程序,计算1到100(含)之间的所有平方和这是我的代码

    int i=1;
    int j=0;

    while (i<101){
      i = (i * i);
      j= (j+i);
      i++;
    }
    System.out.println(j);

谢谢,我一直在来回搜索这本书,没有找到任何想法。

4

2 回答 2

0

我不会直接解决你的家庭作业问题。但它会让你知道该怎么做

给定数字中所有奇数的总和

int sum = 0;
while(numbers are still there){
  if(presentNumber % 2 == 1){
     sum += presentNumber;
  }
}

对于第二个问题,如果我理解正确的话,平方数之和在 1 到 100 之间

逻辑上,100 的平方根是 10。所以 1 到 100 中的所有平方数都是 1 到 10(含)。

这是 1 到 10 个数字的平方和 (1^2+2^2+3^2+...+10^2)

int sum = 0;
for(int I=0;i<=10;i++){
   sum += (i*i);
}
于 2013-10-10T05:45:52.477 回答
0

有多种方法可以接近第一个选项(奇数/偶数):

if ( x & 1 == 0 ) { even... } else { odd... } //This is because the low bit will always be set on an odd number.

或者您可以执行以下操作:

boolean isEven(double num) { return (num % 2 == 0) }

检查检查数字是偶数还是奇数以获取更多选项。

现在关于平方检查确定整数的平方根是否是您答案的整数的最快方法

于 2013-10-10T05:48:24.553 回答