算法训练 s01串
时间限制:1.0s 内存限制:256.0MB
问题描述
s01串初始为”0” 按以下方式变换 0变1,1变01
输入格式
1个整数(0~19)
输出格式
n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
0~19
起初还没明白这个题的意思,后来突然明白,就是每次将0换成1、把1换成01.
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); String s="0"; for (int i = 1; i <=n; i++) { String r=""; for (int j = 0; j < s.length(); j++) { r+=getStr(s.charAt(j)); } s=r; } System.out.println(s); } } private static String getStr(char c) { if(c=='0') return "1"; return "01"; } }
算法训练 水仙花
时间限制:1.0s 内存限制:256.0MB
水仙花数
问题描述
判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=13+53+33
输入格式
一个整数。
输出格式
是水仙花数,输出”YES”,否则输出”NO”(不包括引号)
样例输入
123
样例输出
NO
数据规模和约定
一个三位的整数,否则输出”NO”
又是这种题,额。还是贴出来吧。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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=n/100; int b=n/10%10; int c=n%10; if(n==a*a*a+b*b*b+c*c*c) System.out.println("YES"); else System.out.println("NO"); } }
PS:这是前几天做的,一直忘了更新。