厦门网站建设一般多少钱,重庆律师网站,无锡网站建设制作开发,WordPress显示4031.DNA序列#xff08;Java#xff09;
【问题描述】
一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例#xff08;定义为GC-Ratio#xff09;是序列中G和C两个字母的总的出现次数除以总的字母数目#xff08;也就是序列长度#xff09;。在基因工程中#xf…1.DNA序列Java
【问题描述】
一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例定义为GC-Ratio是序列中G和C两个字母的总的出现次数除以总的字母数目也就是序列长度。在基因工程中这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。
给定一个很长的DNA序列以及要求的最小子序列长度研究人员经常会需要在其中找出GC-Ratio最高的子序列。
【输入形式】输入一个string型基因序列和int型子串的长度
【输出形式】找出GC比例最高的子串,如果有多个输出第一个的子串
【样例输入】AACTGTGCACGACCTGA 5
【样例输出】GCACG
import java.util.*;public class Main {public static void main(String[] args) {Scanner inputnew Scanner(System.in);String str input.next();int ninput.nextInt();int num0;int index0;for (int i 0; i str.length()-n; i) {int m0;for (int j i; j in ; j) {if (str.charAt(j)C||str.charAt(j)G){m;}}if (mnum){numm;indexi;}}System.out.println(str.substring(index,indexn));}} 2.求近似数JAVA
【问题描述】
写出一个程序接受一个正浮点数值输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整小于5则向下取整。
【输入形式】
输入一个正浮点数值
【输出形式】
输出该数值的近似整数值
【样例输入】
5.5
【样例输出】
6
import java.util.*;public class Main {public static void main(String[] args) {Scanner inputnew Scanner(System.in);float numinput.nextFloat();System.out.println(getint(num));}public static int getint(float n){int a(int) n;if ((n-a)0.5){a1;}return a;}} 3. 密码检查(JAVA)
【问题描述】
开发一个密码检查软件密码要求: 长度超过8位 包括大小写字母.数字.其它符号,以上四种至少三种 不能有相同长度大于或等于2的子串重复
【输入形式】
一组或多组长度超过2的子符串。每组占一行
【输出形式】
如果符合要求输出OK否则输出NG
【样例输入】
021Abc9000
021Abc9Abc1
021ABC9000
021$bc9000 【样例输出】
OK
NG
NG
OK
import java.util.*;public class Main {public static void main(String[] args) {Scanner inputnew Scanner(System.in);while (input.hasNext()){String strinput.next();int lstr.length();if (l8){System.out.println(NG);continue;}char[] chars str.toCharArray();int countadz 0;int countAdZ 0;int count0d9 0;int countOthers 0;for (int i 0; i l; i) {if (Character.isDigit(chars[i])) count0d91;if (Character.isUpperCase(chars[i])) countAdZ1;if (Character.isLowerCase(chars[i])) countadz1;if ((Character.isLowerCase(chars[i])false)(Character.isUpperCase(chars[i])false)(Character.isDigit(chars[i])false)) countOthers1;}if (count0d9countAdZcountadzcountOthers3) {System.out.println(NG) ;continue;}int flag0;for (int i 0; i l - 2; i) {String sub str.substring(i, i2);if (str.substring(i2,l).contains(sub)) {flag1;}}if (flag1) {System.out.println(NG);}else {System.out.println(OK);}}}} 4. 选美比赛Java
【问题描述】在选美大奖赛的半决赛现场有n名选手(2n100)参加比赛。比赛结束时要在现场按照选手的出场顺序宣布最后名次获得相同分数的选手具有相同的名次名次连续编号不用考虑同名次的选手人数。如 /div div 选手数量 7 选手得分 5347356宣布名次 3541532 请编程帮助大奖赛组委会完成半决赛的评分排名工作。
【输入形式】选手数量7 选手得分5;3;4;7;3;5;6
【输出形式】选手的排名3 5 4 1 5 3 2
【样例输入】7 5 3 4 7 3 5 6
【样例输出】3 5 4 1 5 3 2
import java.util.*;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int nsc.nextInt();int[] arrnew int[n];int[] copynew int[n]; //去重数组for(int i0;in;i){arr[i]sc.nextInt();copy[i]arr[i];}for(int i0;in;i){for(int ji1;jn;j){if(arr[i]copy[j]){copy[j]0; //置为0 ,去除重复元素}}}for(int i0;in;i){int tem1;for(int j0;jn;j){if(arr[i]copy[j]){ //判断有几个比他大tem;}}System.out.print(tem );}}
}
5. 情报加密JAVA
【问题描述】
在情报传递过程中为了防止情报被截获往往需要对情报用一定的方式加密简单的加密算法虽然不足以完全避免情报被破译但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法对给定的一个字符串把其中从a-y,A-Y的字母用其后继字母替代把z和Z用a和A替代则可得到一个简单的加密字符串。
【输入形式】
可能有多组测试数据。每组测试数据的第一行是字符串的数目n其余n行每行一个字符串,每个字符串长度小于80个字符。
【输出形式】
对于每组数据输出每行字符串的加密字符串。
【样例输入】
1
Hello! How are you! 【样例输出】
Ifmmp! Ipx bsf zpv!
import java.util.*;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int nsc.nextInt();sc.nextLine();for (int i 0; i n; i) {char[] arrsc.nextLine().toCharArray();for(int j0;jarr.length;j){if(arr[j]z){arr[j]a;}else if(arr[j]Z){arr[j]A; //特殊情况判断}else if((arr[j]a arr[j]z)||(arr[j]A arr[j]Z)){arr[j]1; //确保是字母然后后移 //字符与数字相加会先将字符转换成ASCII然后相加}}System.out.println(arr);}}
}
6. 骰子问题旋转java
【问题描述】
骰子是个立方体每个面一个数字初始为左1右2前3观察者方向后4上5下6用123456表示这个状态。放置在平面上用L表示向左翻转一次用R表示向右翻转一次用F表示向前翻转一次用B表示向后翻转一次用A表示逆时针旋转90度用C表示顺时针旋转90度现从初始状态开始根据输入的动作序列计算得到最终的状态。
【输入形式】输入只包含LRFBAC的字母序列最大长度为50可重复
【输出形式】输出经过一系列操作后的序列 注按左右前后上下顺序输出
【样例输入】LB
【样例输出】5 6 1 2 3 4
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);char[] arr sc.nextLine().toCharArray(); //字符数组int[] now {1, 2, 3, 4, 5, 6}; // 当前状态数组for (int i 0; i arr.length; i) {if (arr[i] C) {int t1now[0]; //列出所有情况now[0]now[2];now[2]now[1];now[1]now[3];now[3]t1;}else if(arr[i]A){int t1now[0];now[0]now[3];now[3]now[1];now[1]now[2];now[2]t1;}else if(arr[i]F){int t1now[2];now[2]now[4];now[4]now[3];now[3]now[5];now[5]t1;}else if(arr[i]B){int t1now[2];now[2]now[5];now[5]now[3];now[3]now[4];now[4]t1;}else if(arr[i]L){int t1now[4];now[4]now[1];now[1]now[5];now[5]now[0];now[0]t1;}else if(arr[i]R){int t1now[4];now[4]now[0];now[0]now[5];now[5]now[1];now[1]t1;}}for(int i0;i6;i){System.out.print(now[i] ); //输出状态}}
}