啊????!!!已经过了一半了,感觉没学到多少东西,每天打卡两题就润了,主要是学校的屁事太多了,一堆课,毛概等思政课,简直了,一堆**课浪费时间,代码又不能写,还有抽人回答问题,套都逃不了,哎!
斐波那契数列与7
package daka;
import java.math.BigInteger;
import java.util.*;
/*
* 斐波那契数列
* 请问, 斐波那契数列的第 1 至 202202011200 项(含)中,
* 有多少项的个位 是 7 。
*
* 每60项的余数形成一个周期(余数0将在60个数之后循环一次);;26960268160
*/
public class fbnq {
public static void main(String[] args) {
int o=1;int p=1;
int count =0;int sum =0;
for(long i=1;i<60;i++) {
sum = (o + p) % 10;
if(sum ==7) {
count++;
}
p = o; o = sum;
}
System.out.println(8 * 202202011200l / 60);
}
}
2寻找质数
package daka;
import java.io.*;
import java.math.BigInteger;
/*从两百万个数据找出共有多少个质数
*
*
*/
public class shiyan {
static String filePath = "D:\\桌面保存\\primes.txt";
static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath))));
String line = "";
int cnt =0;
while((line = in.readLine()) != null) {
BigInteger num = new BigInteger(line);
if(num.isProbablePrime(10)) {
cnt++;
}
}
out.print(cnt);
out.flush();
in.close();
}
}
质因数的个数
给一个60%的样例
package daka;
import java.util.*;
/*质因数的个数
*
*
*/
public class zhiyinshu {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for(int i=2;i * i<= n;i++) {
if(n % i ==0 && isPrime(i)) {
list.add(i);
int x = n / i;
if(x != i && isPrime(x)) {
list.add(x);
}
}
}
System.out.println(list.size());
}
private static boolean isPrime(int num) {
if(num<=1) {
return false;
}
for(int i=2;i<=Math.sqrt(num);i++) {
if(num % i ==0) {
return false;
}
}
return true;
}
}
100%样例
package daka;
import java.util.*;
import java.io.*;s
/*质因数的个数
* 分解质因数
* 在num的sqrt范围中循环,寻找每一位质因数,加入set
*/
public class zhiyinshu {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
public static void main(String[] args) {
Long num = Long.parseLong(in.readLine());
Set<Long> set = new HashSet<>();
long p = 2L;
while(p * p <= num) {
while(num % p ==0) {
num /= p;//num 此时等于另一个质因数,每次模拟的都是质因数
set.add(p);
}
p++;
}
//p的平方> num,num 是一个大于根号num的质因数
if(num > 1) {
set.add(num);
}
out.print(set.size());
in.close();
out.flush();
}
}
4.