java编写程序求解:1-2+3-4+5…….n?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编写程序求解:1-2+3-4+5…….n?相关的知识,希望对你有一定的参考价值。
rt
首先你可以看看他们的规律:奇数为相加,偶数为相减。
然后再根据这个规律,去写出个步骤:
可使用 for 循环,给定一个 n
判断 n 为奇数还是偶数
根据奇数还是偶数去进行相加或相减
代码如下:
// Record the amount
int amount = 0;
// You could define a number directly or input from keyboard
// Scanner in = new Scanner(System.in);
// System.out.println("Please input a max number: ");
// int n = in.nextInt();
int n = 10;
for (int i = 1; i <= n; i++)
if (i%2 != 0)
amount += i;
else if (i%2 == 0)
amount -= i;
System.out.println("amount = " + amount);
参考技术A
1:看题目分析,偶数是负的,奇数是正的,那么第一反应就是奇偶数的筛选
2:实现:使用求余运算符“%”
3:代码实现:
package com.fuzhu.test;public class TestCase
public static void main(String[] args)
new TestCase().test(12);
/**
* @param cou 变量值的范围
*/
private void test(int cou)
int result = 0;
for(int i=1;i<=cou;i++)
if(i%2==0)//求余,偶数时是负数
result -= i;
else
result += i;
System.out.println(result);
参考技术B 不要这么麻烦吧
1-2=-1
3-4=-1
5-6=-1
。。。。
(n-1)-n=-1
累计起来就是
n/2*(-1)
要判断一下
n是奇还是偶
int num=n/2==0 ? 0:n;
int total=num+n/2*(-1); 参考技术C int sum =0;
//自己改n的值
int n = 10;
for (int i=1;i<=n;i++)
sum += i*Math.pow(-1,i-1);
system.out.println(sum); 参考技术D public int countNum(int n)
int cntNum;
cntNum = 0;
for(int i=1;i<=n;i++)
if(i%2 != 0)
cntNum += i;
else
cntNum -= i;
return cntNum;
4.18n阶勒让德多项式求解
Q:编写程序,输入正整数n和任意数x,求出勒让德多项式的值Pn(x)
#include <iostream> #include<cstdio> using namespace std; float Rand(int n,float x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x-Rand(n-1,x)-(n-1)*Rand(n-2,x))/n; } int main() { int n; float x,p; cin>>n>>x; p=Rand(n,x); cout<<p; return 0; }
以上是关于java编写程序求解:1-2+3-4+5…….n?的主要内容,如果未能解决你的问题,请参考以下文章
编写Java程序,创建数组a和b,将数组a中索引位置0~3的元素复制到数组b中,最后将a和b数组中元素输出。求解
面试题_程序编写题_编程实现表达式1-2+3-4+5-6+….+n的计算结果_一列数的规则如下: 112358132134...... 求第30位数是多少_小明去商店买糖, 店主说糖是
ZZNUOJ_用C语言编写程序实现1155:简易版最长序列(附完整源码)