「序列求和java」序列求和的时间复杂度是多少
今天给各位分享序列求和java的知识,其中也会对序列求和的时间复杂度是多少进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java如何进行等差数列求和?
import java.util.Scanner;\x0d\x0a\x0d\x0apublic class test {\x0d\x0a public static void main(String[] args) {\x0d\x0a //创建Scanner对象 接受从控制台输入\x0d\x0a Scanner input = new Scanner(System.in);\x0d\x0a System.out.println("首项:");\x0d\x0a //接受String型\x0d\x0a String first = input.next();\x0d\x0a System.out.println("尾项");\x0d\x0a //接受String型\x0d\x0a String last = input.next();\x0d\x0a System.out.println("公差");\x0d\x0a String gongcha = input.next();\x0d\x0a int num = Math.abs((Integer.parseInt(first)-Integer.parseInt(last))/Integer.parseInt(gongcha))+1;\x0d\x0a System.out.println("num="+num);\x0d\x0a double total = 0.5*((Integer.parseInt(first)+Integer.parseInt(last))*num);\x0d\x0a //输出结果\x0d\x0a System.out.println("total:"+total); }\x0d\x0a}\x0d\x0a\x0d\x0a本机测试过可以运行\x0d\x0a\x0d\x0a没看清要求,这个是用for循环的,可以负数啥的:\x0d\x0a\x0d\x0aimport java.util.Scanner;\x0d\x0a\x0d\x0apublic class az {\x0d\x0a public static void main(String[] args) {\x0d\x0a //创建Scanner对象 接受从控制台输入\x0d\x0a Scanner input = new Scanner(System.in);\x0d\x0a System.out.println("首项:");\x0d\x0a //接受String型\x0d\x0a String first = input.next();\x0d\x0a int f = Integer.parseInt(first);\x0d\x0a System.out.println("尾项");\x0d\x0a //接受String型\x0d\x0a String last = input.next();\x0d\x0a int l = Integer.parseInt(last);\x0d\x0a System.out.println("公差");\x0d\x0a String gongcha = input.next();\x0d\x0a int g = Integer.parseInt(gongcha);\x0d\x0a g = Math.abs(g);\x0d\x0a if(fl){\x0d\x0a int temp =f;\x0d\x0a f = l;\x0d\x0a l = temp;\x0d\x0a }\x0d\x0a double total = 0;\x0d\x0a for(int i=f;i
回答于 2022-11-16
Java中数列个位数求和问题
工程自己按要求建,我只给MainClass源码
package cn.campsg.java.experiment;
import java.util.Scanner;
public class MainClass{
public static int sum(String numberStr){
int sum = 0,count=0,num[]=new int[1000];
try {//如果输入的字符串不满足要求,使用Integer.parseInt(会出现异常(程序运行错误),故使用try...catch...
String temp[]=numberStr.split(";");
for (String dt : temp) {
num[count] = Integer.parseInt(dt); //将数字提取出来,并存放在一个整数数组中
count++;
}
for (int i = 0; i count; i++) {
sum+=Math.abs(num[i])%10; //直接使用绝对值,假如输入的是负数,就变成正数
}
} catch (Exception e) {
//如果强转失败,则会出现此提示(不是数字+英文分号这种格式)包括超过数组最大容量
sum=-1; //输入的字符串不满足条件时,返回-1;
System.out.println("你输入的字符串不正确,或输入的数字超过数组最大容量!");
}
return sum;
}
public static void main(String[] args) {
System.out.println("请输入一行数组,用分号(英文)隔开:");
String str = new Scanner(System.in).next();
if (sum(str)!=-1) { //只输出正确的数组
System.out.println("原字符数列:"+str);
System.out.println("数列个位数字求和结果:"+sum(str));
}
}
数列求和这个java程序怎么写
public class Test
{
public void calSum()
{
long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围
long sum = num; // 存放数列和,使用 long, 因为 int 会超范围
// 因为只到9999999999,所以只用 9 次
for (int i = 0; i 9; i++)
{
num = num * 10 + 9; // 根据数列当前项得到下一项的值
sum += num; // 计算目前为止所有数的和
}
System.out.println("9+99+999+...+9999999999=" + sum);
}
public static void main(String[] argv)
{
Test test = new Test();
test.calSum();
}}
数列求和这个java程序怎么写?
public class Test
{public void calSum()
{long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围
long sum = num; // 存放数列和,使用 long, 因为 int 会超范围
// 因为只到9999999999,所以只用 9 次
for (int i = 0; i 9; i++)
{num = num * 10 + 9; // 根据数列当前项得到下一项的值
sum += num; // 计算目前为止所有数的和}
System.out.println("9+99+999+...+9999999999=" + sum);}
public static void main(String[] argv)
{Test test = new Test();
test.calSum();}}
或者public class Test{ public void calSum() { long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围 long sum = num; // 存放数列和,使用 long, 因为 int 会超范围 // 因为只到9999999999,所以只用 9 次 for (int i = 0; i 9; i++) {num = num * 10 + 9; // 根据数列当前项得到下一项的值 sum += num; // 计算目前为止所有数的和 } System.out.println("9+99+999+...+9999999999=" + sum) } public static void main(String[] argv) {Test test = new Test(); test.calSum();}
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的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于序列求和的时间复杂度是多少、序列求和java的信息别忘了在本站进行查找喔。