标签:Scanner 题解 System long 蓝桥 static Fibonacci import public
1. Fibonacci数列
思路: 可以按常规计算f(n),然后再去%10007得到余数,这显然不是出题人的意愿,可能超时。用一个数组存它的余数,这就像是把迭代优化为数组去解题。
import java.util.Scanner;
public class lanqiao1 {
static long []a = new long[10000000];
public static long fib(int n){
a[1]=1;
a[2]=1;
for(int i=3;i<=n;i++){
a[i] = (a[i-1]+a[i-2])%10007;
}
return a[n];
}
public static void main(String []args){
Scanner obj = new Scanner(System.in);
int n = obj.nextInt();
System.out.println(fib(n));
}
}
2. 圆的面积
思路:要注意的就是Π的确定,用atan(1)*4
确定 以及 保留小数点后7位。
import java.util.Scanner;
import java.lang.Math;
public class lanqiao1 {
public static void main(String []args){
double PI=Math.atan(1.0)*4; //求Π
Scanner obj = new Scanner(System.in);
int r = obj.nextInt();
double a = PI*r*r;
System.out.printf("%.7f",a);
}
}
3. 序列求和
思路:1.数据规模这么大,可能不在整型int范围内,换成长整型long;
2.“暴力”的累加方法往往会导致超时,换成1+2+3…+n = (1+n)*n/2
import java.util.Scanner;
public class lanqiao1 {
public static long get(long n){
long sum = (1+n)*n/2;
return sum;
}
public static void main(String []args){
Scanner obj = new Scanner(System.in);
long n = obj.nextLong();
System.out.print(get(n));
}
}
小结:熟悉一下oj系统。
S_123789 发布了41 篇原创文章 · 获赞 20 · 访问量 2935 私信 关注标签:Scanner,题解,System,long,蓝桥,static,Fibonacci,import,public 来源: https://blog.csdn.net/S_123789/article/details/104029302
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。