欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > java.函数-acwing

java.函数-acwing

2025/2/22 2:05:05 来源:https://blog.csdn.net/2401_87338545/article/details/144943125  浏览:    关键词:java.函数-acwing

题目一:绝对值

810. 绝对值 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int x = sc.nextInt();System.out.println(abs(x));}private static int abs(int x) {if(x < 0) return -x;else return x;}
}

题目二:两个数的和

806. 两个数的和 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double x = sc.nextDouble(), y = sc.nextDouble();System.out.printf("%.2f\n",add(x,y));}private static double add(double x, double y) {return x + y;}
}

题目三:区间求和

807. 区间求和 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int l = sc.nextInt(), r = sc.nextInt();System.out.println(sum(l,r));}private static int sum(int l, int r) {int res = 0;for(int i = l; i <= r; i ++) {res += i;}return res;}
}

题目四:最小公倍数

809. 最小公倍数 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt(), b = sc.nextInt();System.out.println(lcm(a,b));//System.out.println(lcm2(a,b));}private static int lcm(int a, int b) {int res = a*b;int gys = 0;while(a%b!=0) {int t = a%b; a = b; b = t;}gys = b;//System.out.println(gys);return res/gys;}private static int lcm2(int a, int b) {for(int i = 1; i <= a*b; i ++) if(i%a==0 && i%b==0)return i;return -1; // 这里一定要返回, 不然会报错}}

题目五:复制数组

814. 复制数组 - AcWing题库

代码

 

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), m = sc.nextInt(), size = sc.nextInt();int[] a = new int[n];int[] b = new int[m];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();for(int i = 0; i < m; i ++) b[i] = sc.nextInt();copy(a,b,size);for(int i = 0; i < m; i ++) System.out.printf("%d ",b[i]);}private static void copy(int[] a, int[] b, int size) {for(int i = 0; i < size; i ++) b[i] = a[i];}
}

题目六:打印字符串

815. 打印字符串 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();print_str(str);}private static void print_str(String str) {System.out.println(str);}
}

题目七:数组翻转

816. 数组翻转 - AcWing题库

代码 

import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), size = sc.nextInt();int[] a = new int[n];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();reverse(a,size);for(int i = 0; i < n; i ++) System.out.printf("%d ",a[i]);}private static void reverse(int[] a, int size) {for(int i = 0, j = size-1; i < size/2; i ++,j --) {int t = a[i]; a[i] = a[j]; a[j] = t;}}}

题目八:数组去重

817. 数组去重 - AcWing题库

代码

 

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] a = new int[n];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();System.out.println(get_unique_count2(a, n));}private static int get_unique_count(int[] a, int n) {int[] b = new int[1100];for(int i = 0; i < n; i ++) b[a[i]] ++;int res = 0;for(int i = 0; i < 1100; i ++) if(b[i]!=0) res ++;return res;}private static int get_unique_count2(int[] a, int n) {int res = 1;for(int i = 1; i < n; i ++) {int flag = 1;for(int j = 0; j < i; j ++) {if(a[j] == a[i]) {flag = 0;break;} }if(flag == 1) res ++;}return res;}
}

题目九:数组排序

818. 数组排序 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), l = sc.nextInt(), r = sc.nextInt();int[] a = new int[n];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();sort(a,l,r);for(int i = 0; i < n; i ++) System.out.printf("%d ",a[i]);}private static void sort(int[] a, int l, int r) {for(int i = l; i <= r; i ++) {int t = a[i];for(int j = i-1; j >= l; j --) {if(a[j]<=t) {a[j+1] = t;break;}a[j+1] = a[j];if(j==l) a[j] = t;//处理边界}}}
}

代码2 

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), l = sc.nextInt(), r = sc.nextInt();int[] a = new int[n];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();sort(a,l,r);for(int i = 0; i < n; i ++) System.out.printf("%d ",a[i]);}private static void sort(int[] a, int l, int r) {for(int i = l; i < r; i ++) {for(int j = i+1; j <= r; j ++) {if(a[i]>a[j]) {int t = a[i]; a[i] = a[j]; a[j] = t;}}}}
}

代码3:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), l = sc.nextInt(), r = sc.nextInt();int[] a = new int[n];for(int i = 0; i < n; i ++) a[i] = sc.nextInt();quick_sort(a,l,r);for(int i = 0; i < n; i ++) System.out.printf("%d ",a[i]);}private static void quick_sort(int[] a, int l, int r) {if(l>=r) return ;int x = a[l+r>>1], i = l-1, j = r+1;while(i < j) {do i ++; while(a[i] < x);do j --; while(a[j] > x);if(i < j) {int t = a[i]; a[i] = a[j]; a[j] = t;}}quick_sort(a,l,j); quick_sort(a,j+1,r);}
}

题目十:跳台阶

821. 跳台阶 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(step(n));}private static int step(int n) {if(n == 0 || n == 1) return 1;return step(n-1) + step(n-2);} 
}

 代码2

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] step = new int[n+1]; solve(step,n);System.out.println(step[n]);}private static void solve(int[] step, int n) {step[1] = 1; if(step[n]!=0) return ; //防n==1,防越界step[2] = 2;for(int i = 3; i <= n; i ++) {step[i] = step[i-1] + step[i-2];}}
}

题目十一:走方格

822. 走方格 - AcWing题库

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), m = sc.nextInt();int[][] a = new int[n+1][m+1];step(a,n,m);System.out.println(a[n][m]);}private static void step(int[][] a, int n, int m) {for(int i = 1; i <= n; i ++) a[i][0] = 1;for(int i = 1; i <= m; i ++) a[0][i] = 1;for(int i = 1; i <= n; i ++) {for(int j = 1; j <= m; j ++) {a[i][j] = a[i-1][j] + a[i][j-1];}}}}

代码2

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), m = sc.nextInt();System.out.println(step(n,m));}private static int step(int n, int m) {if(n == 0 && m == 0) return 1;int res = 0;if(n > 0) res += step(n-1,m);if(m > 0) res += step(n,m-1);return res;}}

题目十二:排列

823. 排列 - AcWing题库

代码 这串代码会超时,n=9时, n = 3可以正常输出结果

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] path = new int[n+1]; int[] st = new int[n+1];dfs(path,st,n,0);}private static void dfs(int[] path, int[] st, int n, int u) {if(u == n) {for(int i = 0; i < n; i ++) System.out.printf("%d ",path[i]);System.out.println("");return ;}for(int i = 1; i <= n; i ++) {if(st[i]==0) {st[i] = 1;path[u] = i;dfs(path,st,n, u+1);st[i] = 0;}}}
}

代码2

import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;public class Main {private static int n;private static int[] path;private static boolean[] st;private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));private static void dfs(int u) throws Exception {if(u == n) {for(int i = 0; i < n; i ++) bw.write(path[i] + " ");bw.write("\n");}else {for(int i = 1; i <= n; i ++) {if(!st[i]) {st[i] = true;path[u] = i;dfs(u+1);st[i] = false;}}}}public static void main(String[] args) throws Exception{Scanner sc = new Scanner(System.in);n = sc.nextInt();path = new int[n+1]; st = new boolean[n+1];dfs(0);bw.flush();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词