java编程 求10000以内的所有完全数。我这个说答案错误?希望大家解答!!急急急急!!
3个回答
展开全部
//你传的图片看不清,所以没办法回答是哪里错了,我自己写了一个
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个数字!");
int num = scan.nextInt();
System.out.println("0-"+num+"以内的完全数有:");
//遍历0-num以内的所有整数,并验证该数字是否为完全数,如果是,就输出,如果不是,什么也不做
for(int i=3; i<=num; i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.println(i);
}
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个数字!");
int num = scan.nextInt();
System.out.println("0-"+num+"以内的完全数有:");
//遍历0-num以内的所有整数,并验证该数字是否为完全数,如果是,就输出,如果不是,什么也不做
for(int i=3; i<=num; i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.println(i);
}
}
}
展开全部
/**
* 获取完美数
* @param num
*/
public static void getPerfectNumber(int num) {
if (num <= 0) {
return;
}
int total = 0;
for (int i = 1; i <= num; i++) {
total = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
if(i != j){
total += j;
}
}
}
if(total == i){
System.err.println("完美数:"+i);
}
}
}
* 获取完美数
* @param num
*/
public static void getPerfectNumber(int num) {
if (num <= 0) {
return;
}
int total = 0;
for (int i = 1; i <= num; i++) {
total = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
if(i != j){
total += j;
}
}
}
if(total == i){
System.err.println("完美数:"+i);
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=2;i<1000;i++){
int sum=0;
for(int y=1;y<i;y++){
if(i%y==0)
sum +=y;
}
if(sum==i)
System.out.println("sum: " + sum);
}
更多追问追答
追问
是从我的for开始改吗
我改完说我编译错误
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |