超级素数幂
如果一个数字能表示为pq(表示幂运算)且p为一个素数,q为大于1的正整数就称这个数叫做超级素数幂。现在给出一个正整数n,如果n是一个超级素数幂需要找出对应的p,q。
输入描述:
输入一个正整数n(2 ≤ n ≤ 10^18)
输出描述:
如果n是一个超级素数幂则输出p,q,以空格分隔,行末无空格。
如果n不是超级素数幂,则输出No
示例1
输入
27
输出
3 3
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("剩下数字个数 :");
long n=scanner.nextLong();
boolean flag=false;
double p;
for(int q=2;q*q<n;q++){
p=Math.pow((double) n,1d/q);
System.out.println(1d/q);
System.out.println(1/q);
if((long )p==p && isPrimeNum((long)p)){
System.out.println((long)p+" "+q);
flag=true;
break;
}
}
if(!flag){
System.out.println("No");
}
}
public static boolean isPrimeNum(long num){
if (num<=1){
return false;
}
for (int i=2;i*i<=num;i++){
if(num%i==0){
return false;
}
}
return true;
}
}
用 1d 取double很关键!
剩下数字个数 :
27
0.5
0
0.3333333333333333
0
3 3
找整除
牛牛想在[a, b]区间内找到一些数满足可以被一个整数c整除,现在你需要帮助牛牛统计区间内一共有多少个这样的数满足条件?
输入描述:
首先输入两个整数a,b,(-510^8 ≤ a ≤ b ≤ 510^8)
接着是一个正整数c(1 <= c <= 1000)
输出描述:
输出一个整数表示个数。
示例1
输入
0 14 5
输出
3
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("整数a :");
int a=scanner.nextInt();
System.out.println("整数b :");
int b=scanner.nextInt();
System.out.println("正整数c :");
int c=scanner.nextInt();
int count=0;
for(int n=a/c ; n*c<=b;n++ ){
if(c*n>=a) {
count++;
}
}
System.out.println(count);
}
}
魔力手环
小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的后面一个数字是第一个),一旦某个位置的数字大于等于100就马上对100取模(比如某个位置变为103,就会自动变为3).现在给出这个魔力手环的构成,请你计算出使用k次魔力之后魔力手环的状态。
输入描述:
输入数据包括两行:
第一行为两个整数n(2 ≤ n ≤ 50)和k(1 ≤ k ≤ 2000000000),以空格分隔
第二行为魔力手环初始的n个数,以空格分隔。范围都在0至99.
输出描述:
输出魔力手环使用k次之后的状态,以空格分隔,行末无空格。
示例1
输入
3 2
1 2 3
输出
8 9 7
混合颜料
最大的奇约数
末尾0的个数
Java代码实现