题目:编写程序,求13-23+33-43....+993-1003的值.我的残缺代码是这样的.
public class mathDemo
{
public static void main(String[] agrs)
{
int sum = 0 ; //定义变量,保存循环累加的结果.
for(int i=1;i<=100;i++) //把13,23,33等,看成10.由于为了方便,看成1-2+3-4...+99-100
}
}写到for循环以后,我就不知道怎么从代码的角度去完善了.虽然这个问题相对很简单,但是也希望能够有人认真的回答,帮忙提及下一步思路,我不想直接要代码和答案,需要的知识思路,谢谢。
public class mathDemo
{
public static void main(String[] agrs)
{
int sum = 0 ; //定义变量,保存循环累加的结果.
for(int i=1;i<=100;i++) //把13,23,33等,看成10.由于为了方便,看成1-2+3-4...+99-100
}
}写到for循环以后,我就不知道怎么从代码的角度去完善了.虽然这个问题相对很简单,但是也希望能够有人认真的回答,帮忙提及下一步思路,我不想直接要代码和答案,需要的知识思路,谢谢。
for(int i=1;i <=100;i++) {
if(i%2==0){
long sum1+=i*10+3;
}
if(i%2!=0){
long sum2+=i*10+3;
}
long sum= sum2-sum1;
System.out.print(sum);
}
if(i%2==0)
sum -= i;
else
sum += i;
}
long sum1=0,sum2=0,sum=0;
for(int i=1;i <=100;i++) {
if(i%2==0){
sum1+=i*10+3;
}
if(i%2!=0){
sum2+=i*10+3;
}
System.out.println(sum1);
System.out.println(sum2);
}
sum= sum2-sum1;
System.out.print(sum);
}
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 50; i++) {
sum += 2 * i -1;
System.out.print(sum);
sum -= 2 * i;
System.out.println(", " + sum);
}
}
}
设置两个变量a,b
令a存放1+3+5+...+99的结果
b存放2+4+6+...+100的结果
最终a-b即可得到sum具体代码如下:
int sum=0,a=0,b=0;
int i,j;
for(i=1;i<98;i=i+2)\\这里为什么是i<98而不是i<100,自己可以推敲一下
{
a=a+i;
}
a=a+1;\\由于i的累加是从i=3时开始的,这里把i=1的时候也加上
for(j=2;j<99;j=j+2)\\同样,注意这里是j<99
{
b=b+j;
}
b=b+2;\\由于j的累加是从j=4时开始的,这里把j=2的时候也加上
sum=a-b;
printf("\n加法的结果为; %d",sum);
根据9楼的思路,写出来的
public class MathTest01
{
public static void main(String[] agrs)
{
int sum=0 ;//保存1-2+3-4...+99-100的结果.
int sum1=0 ;//保存1+3+5...+99的结果
int sum2=0 ;//保存2+4+6..+100的结果
for (int x=1;x<=99 ;x+=2 ) //使用for循环
{
sum1=sum1+x*10+3 ; //执行累加操作
}
for (int y=2;y<=100 ;y+=2 ) //使用for循环
{
sum2=sum2+y*10+3 ; //执行累加操作
}
System.out.println("sum1的值为:"+sum1); //打印信息
System.out.println("sum2的值为:"+sum2); //打印信息
sum = sum2-sum1 ;//减法操作
System.out.println("13-23+33-43....+993-1003的值为:"+sum);//打印信息 }
}
根据5楼的思路,写出来的public class P376
{
public static void main(String[] args)
{
long sum1=0,sum2=0,sum=0; //定义变量
for(int i=1;i <=100;i++) { //判断循环条件
if(i%2==0){ //如果能被2整除的话,则为减
sum1+=i*10+3; //执行循环操作
}
if(i%2!=0) //判断循环条件
{ //不能被2整除,则为正.
sum2+=i*10+3; //执行循环操作
}
}
sum= sum2-sum1;
System.out.print("13-23+33....+993-1003的值为:"+sum); //打印信息
}
}