等差数列
中心思想:累加法,公式法
1:累加法:
/*
需求:1+2+3+4+5+......10
思想:
1,每次参与的加法的数值不确定
2,每次出现的和的数据也不确定
3,每次参与加法的数值有递增规律
4.,每一次都是加法运算在重复,并且都是和在加上下一个数值
步骤:
1,定义一变量,记录参与加法运算的数据
2,定义一个变量,记录每一次出现的和
3,对于记录参与加法运算的数据自增
4,因为加法运算需要重复
*/
// 第一种:while循环
public class Demo1{
public static viod mian(String[] args){
int x=1;
int num=0;
while(x<=10){
num =num+x;
x++;
}
System.out.println("和是:"+num)
}
}
//for循环
public class Demo1{
public static viod mian(String[] args){
int num=0;
for(int x=1;x<=10;x++){
num = num+x;
}
System.out.println("和是:"+num)
}
}
2:公式法:公式法其实很简单
等差数列的前n项和的公式为: Sn=na1+nd(n-1)/2 N属于正整数
/*
例题:2+4+8+10+...... ;求此数列前·10项的和
*/
public class Demo1{
public static viod mian(String[] args){
int a1=2;
int n=10;
int d=2;
int num=0; //和
num=10*2+(10*2*9)/2;
System.out.println("前十项和为:”+num);
}
等比数列
思想:嵌套循环思想
(1)
import java.util.Scanner;
//1 + 2^1 + 2^2 + 2^3 + ... 2^n
public class demo11 {
public static void main(String[] args) {
int i, j, mul,sum=1;
Scanner input = new Scanner(System.in);
int n = input.nextInt();
//2的次方等于1
if(n == 0) {
sum =1;
}else {
for(i=1;i<n;i++) {
//第一项为1
mul =1;
//之后的每一项为2的i次方
for(j=1;j<=i;j++) {
mul = mul *2;
}
sum = sum +mul;
}
}
System.out.println(sum);
}
}
(2)
/*
输入整数a,输出结果s,其中s与a的关系是:s=a+aa+aaa+aaaa+aaa...a,
最后为a个a。丽日a=2时,s=2+22=24;
要求:使用循环语句实现, a由键盘输入,且2≤a≤9
思想:输入2就是两个数 输入三就是三个数
例如:2+22
*/
public class demo4 {
public static void main(String[] args) {
int a, s=0,t,i,j;
System.out.println("请输入a的值");
Scanner sr = new Scanner(System.in);
a= sr.nextInt();
for(i=1;i<a;i++) {
t=a;
//求i个a的值
for(j=0;j<i;j++) {
t *=10;
t +=a;
}
System.out.println("+"+t);
//求和
s += t;
}
System.out.println("和为:"+(s+a));
}
}