算法训练 s01串
时间限制:1.0s 内存限制:256.0MB
问题描述
s01串初始为"0"
按以下方式变换
0变1,1变01
输入格式
1个整数(0~19)
输出格式
n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
0~19
起初还没明白这个题的意思,后来突然明白,就是每次将0换成1、把1换成01.
代码:
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"
又是这种题,额。还是贴出来吧。
代码:
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:这是前几天做的,一直忘了更新。