前言
提示:这是CG系统上面的测试题,类名的使用看学校而定。
1、Java编程输出判断可逆素数
【问题描述】若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断
【输入形式】用户在第一行输入一个整数。
【输出形式】程序在下一行输出yes或是no,yes表示此数是可逆素数,no表示不是。用户输入的数必须为正整数。注意:yes或是no全是小写输出。
【样例输入】23
【样例输出】no
【样例说明】用户输入23,23各位数字颠倒之后得到32,23是素数,但32不是素数,所以23不是可逆素数。
【评分标准】结果完全正确得满分。
代码块
import java.util.Scanner;
class Insteadsushu {
int number, sum, item, highest;
void Getshu(int number) {
int count=0;
item = 10;
sum = 0;
if(number<item){
sum=number;
highest=number;
count++;
}
for (item = 10; number > 0 && count==0; ) {
sum = sum + number % item;
number = number / item;
if ((number < 10) && (number > 0)) {
highest = number;
}
}
if(sum>highest){
if ((sum % 3 != 0) && (highest % 2 != 0) && (highest % 5 != 0)) {
System.out.println("yes");
}
if ((sum % 3 == 0) || (highest % 2 == 0) || (highest % 5 == 0)) {
System.out.println("no");
}
}
if(sum==highest){
if(sum==2 || sum==3|| sum==5 || sum==7){
System.out.println("yes");
}
else{
System.out.println("no");
}
}
}
}
public class homework{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
Insteadsushu givemess=new Insteadsushu();
int number=in.nextInt();
givemess.Getshu(number);
}
}
2、编程找出m~n之间的所有完数,m和n为从键盘输入的两个整数。
【问题描述】
编程找出m~n之间的所有完数,m和n为从键盘输入的两个整数。一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3。
【输入形式】
输入两个整数。
【输出形式】
输出两个整数之间的所有完数。
代码块
import java.util.Scanner;
class Wanquanshu {
int number;
void Getshu(int number) {
int i, item = 0;
for (i = 1; i < number; i++) {
if (i <= (number / i)) {
if (i == 1) {
item = item + 1;
}
if ((number % i == 0) && ((number / i) != number)) {
item = item + i + number / i;
}
}
}
if (item == number) {
System.out.print(item + ",");
}
}
}
public class homework{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
Wanquanshu givemess=new Wanquanshu();
int m=in.nextInt();
int n=in.nextInt();
int i;
System.out.println(m + " to " + n + " WanShu:");
for(i=m;i<=n;i++){
givemess.Getshu(i);
}
}
}