1、 立方尾不变
有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,…
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
请提交该整数,不要填写任何多余的内容。
public class Demo1 {
public static void main(String[] args) {
//第一题
int sum=0;
for (int i = 1; i<=10000; i++) {
long li=1l*i*i*i;
int num=i;
boolean sign=true;
while(num>0){
int m=num%10;//求出最后一位
long n=li%10;//求出最后一位
if(m!=n){
sign=false;
break;
}
num=num/10;//去掉最后一位
li=li/10;//
}
if(sign){
System.out.println(i);
sum++;
}
}
System.out.println(sum);
}
}
2、问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
//定义一个长度为26的数组
char[] arr=new char[26];
for (int i = 0; i < arr.length; i++) {
int num=65+i;
char c=(char) num;
arr[i]=c;
}
String str="";
for (int i = 1; i <=n; i++) {
if(i==1) {
str="A";
}else {
str=str+arr[i-1]+str;
}
}
System.out.println(str);
}
}
3、小明很喜欢猜谜语。最近,他被邀请参加了X星球的猜谜活动。每位选手开始的时候都被发给777个电子币。规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币, 扣完为止。小明一共猜了15条谜语。战果为:vxvxvxvxvxvxvvx,其中v表示猜对了,x表示猜错了。请你计算一下,小明最后手里的电子币数目是多少。
public class Demo3 {
public static void main(String[] args) {
String str="vxvxvxvxvxvxvvx";
int sum=777;
for (int i = 0; i < 15; i++) {
char a=str.charAt(i);
if(a=='v'){
sum*=2;
}else{
sum-=555;
}
}
System.out.println(sum);
}
}
4、问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] arr=new int[n];
//通过录入赋值
for(int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
int num=sc.nextInt();
boolean sign=true;
for(int i=0;i<arr.length;i++){
if(num==arr[i]){
System.out.println(i+1);
sign=false;
break;
}
}
if(sign){
System.out.println(-1);
}
5、编写一个递归的方法,打印输出一个字符串的所有排列。例如:对于字符串abc。输出为:
abc
acb
bac
bca
cab
cba
public class Demo5 {
public static void main(String[] args) {
char[] arr= {'a','b','c'};
for (int i = 0; i < arr.length; i++) {
//交换
char temp;
temp=arr[0];
arr[0]=arr[i];
arr[i]= temp;
for (int j = 1; j < arr.length; j++) {
//交换
temp=arr[1];
arr[1]=arr[j];
arr[j]=temp;
//得到结果
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k]);
}
System.out.println();
//还原
temp=arr[1];
arr[1]=arr[j];
arr[j]=temp;
}
//还原
temp=arr[0];
arr[0]=arr[i];
arr[i]= temp;
}
}
}