㈠ 求解 java等差數列 問題!
public class ArithmeticSequence
{
public static void main( String args[] )
{
Scanner input = new Scanner ( System.in );
int a_1, d, N;
double a_n = 0.0, S_n = 0.0;
System.out.print ("Enter a_1:");
a_1 = input.nextInt();
System.out.print ("Enter d:");
d = input.nextInt();
System.out.print ("Enter N:");
N = input.nextInt();
for(int i = 0; i< N; i++)
{
a_n = a_1+ i*d;
S_n += a_n;
System.out.println("a_" + i+1 +"=" + a_n+
",S = " + S_n);
}
}
}
小弟也是初學java,如果有寫的不對的地方,還請大家不吝賜教。。。
㈡ java 等差數列求和
public class ArithmeticProgression {
public static int sum(int beg, int end, int d) {
// 參數校驗
if (0 == d) {
throw new IllegalArgumentException("公差0沒意義啊!");
}
// 兩者的差
int m = end - beg;
if (m < 0 || d < 0) {
throw new IllegalArgumentException("暫不支持負數公差!");
}
// 末項和首項的差不能被公差整出
if ((end - beg) % d != 0) {
throw new IllegalArgumentException("末項和首項的差不能被公差整除!");
}
// beg為第一項的話end為第n項
int n = (end - beg) / d + 1;
// 公式和=(首項+末項)×項數÷2 不用for的話可以直接得結果
// return (beg + end) * n / 2;
int result = 0;
for (int i = 1; i <= n; i++) {
// 累加第i項,直到N
result += beg + (i-1) * d;
}
return result;
}
public static void main(String[] args) {
System.out.println(sum(1, 6, 1));
}
}
㈢ 如何用JAVA編寫等差數列第一行為11個*號,第二行為9個*號,第三行為7個*號,最後一行1個*號
public class test {
public static void main(String[] args) {
for(int i=11;i>0;i-=2){
for(int j=0;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
***********
*********
*******
*****
***
*
㈣ JAVA 等差數列求數值問題,新手求JAVA帝幫忙,JAVA怎麼求等差數列裡面每個數的值
class sample {
public static void main(String args[]) {
int a, n;
for (a = 0; a < 30; a++) {
for (n = 0; n < 10; n++) {
if ((a + a - n + a - 2 * n + a - 3 * n == 26)
&& (a * (a - n) * (a - 2 * n) * (a - 3 * n) == 880)) {
System.out.println("a==" + a);
System.out.println("n==" + n);
}
}
}
}
}
a就是A,N就是差值 , 判斷條件內的30,10自己定義個接近的就可以了
㈤ java如何進行等差數列求和
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//創建Scanner對象 接受從控制台輸入
Scanner input = new Scanner(System.in);
System.out.println("首項:");
//接受String型
String first = input.next();
System.out.println("尾項");
//接受String型
String last = input.next();
System.out.println("公差");
String gongcha = input.next();
int num = Math.abs((Integer.parseInt(first)-Integer.parseInt(last))/Integer.parseInt(gongcha))+1;
System.out.println("num="+num);
double total = 0.5*((Integer.parseInt(first)+Integer.parseInt(last))*num);
//輸出結果
System.out.println("total:"+total); }
}
本機測試過可以運行
沒看清要求,這個是用for循環的,可以負數啥的:
import java.util.Scanner;
public class az {
public static void main(String[] args) {
//創建Scanner對象 接受從控制台輸入
Scanner input = new Scanner(System.in);
System.out.println("首項:");
//接受String型
String first = input.next();
int f = Integer.parseInt(first);
System.out.println("尾項");
//接受String型
String last = input.next();
int l = Integer.parseInt(last);
System.out.println("公差");
String gongcha = input.next();
int g = Integer.parseInt(gongcha);
g = Math.abs(g);
if(f>l){
int temp =f;
f = l;
l = temp;
}
double total = 0;
for(int i=f;i<=l;i+=g){
total += i;
i = i+g;
}
//輸出結果
System.out.println("total:"+total);
}
}
㈥ 用java語言編寫一個類,該類創建的對象可以計算等差數列的和,怎麼做
class calculate
{
private int t,s;
public void calculate()
{
s=0;
}
/*
參數:數列開始,最後一位,增量
返回:int
*/
public int total(int first,int last,int increment)//increment為數列增量
{
if( ((last - first) / increment) % 1 ==0 ) //數列為等差時
{
for(int j=0;j<(last - first) / increment + 1;j++)
{
t = j*increment + first;
s = s + t;
}
}
return s;
}
}
//測試
class test4
{
public static void main(String args[])
{
calculate c = new calculate();//這里創建一個對象
System.out.println(c.total(1,9,4)); //這里調用C對象的total方法
}
}