得出几月几号是周几
package lanqiaotest;
import java.util.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
public class Math {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse("2023-04-06",formatter);
DayOfWeek dayOfWeek = date.getDayOfWeek();
String weekday = dayOfWeek.toString();
System.out.println(weekday);
}
}
分解质因数
1、题目:
给定n个正整数ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。
输入格式
第一行包含整数n。
接下来n行,每行包含一个正整数ai。
输出格式
对于每个正整数ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。
每个正整数的质因数全部输出完毕后,输出一个空行。
数据范围
1≤n≤100,
1≤ai≤2∗109
输入样例:
2
6
8
输出样例:
2 1
3 1
2 3
package lanqiaotest;
import java.util.*;
public class Math {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for(int i = 0;i<n;i++) {
int x = scanner.nextInt();
divide(x);
}
}
static void divide(int x) {
for(int i = 2;i<=x/i;i++){
int cnt = 0;
while(x % i==0){
x/=i;
cnt++;
}
if(cnt > 0) {
System.out.print(i); //输出底数
System.out.print(" " + cnt + "\n");//输出指数
}
}
if(x > 1){
System.out.println(x + " " + "1");
}
}
}
找因数
import java.util.*; // 导入需要用到的包
public class Main {
// 找到并打印 n 的所有因数的函数
public static void getDivisors(int n) {
List<Integer> divs = new ArrayList<>(); // 创建列表以存储因数
// 循环遍历 n 的所有可能因数
for (int i = 1; i <= n / i; i++) {
if (n % i == 0) { // 如果 i 是 n 的因数
divs.add(i); // 将 i 添加到因数列表中
if (i * i != n) divs.add(n / i); // 如果 i 不是 n 的平方根,则将 n/i 添加到因数列表中
}
}
Collections.sort(divs); // 将因数列表按升序排序
for (int s : divs) { // 遍历因数列表并打印每个因数
System.out.println(s);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 创建一个 Scanner 对象以从标准输入读取输入
int n = sc.nextInt(); // 读取输入的整数 n
getDivisors(n); // 调用 getDivisors 函数找到并打印 n 的所有因数
}
}
约数求和
#include<bits/stdc++.h>
using namespace std;
long long n,i,j,c;
int main()
{
cin>>n;
for(i=1;i<=n;i++)c+=i*(n/i);
cout<<c;
}
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
for(int i = 1;i<=n;i++){
sum+=i*(n/i);
}
}
}
最大公约数
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.print(gcd(a,b));
}
static int gcd(int a,int b){
return b!=0?gcd(b,a%b):a;
}
}