从键盘任意输入一个数n(1000<=n<=1000000)

从键盘任意输入一个数n(1000<=n<=1000000),编程计算并输出n的所有约数中最大的三位数(即最大的三位约数)。如果n小于1000或者大于1000000,则输出“Input error!”。
函数原型:int Func(int n);
函数功能:计算n的所有约数中最大的三位数

c

6个回答

如果运行,有帮助的话给个赞呗!
代码如下:
#include
int Func(int n);
int main( )
{
int n,result;
printf("Input n:");
scanf("%d",&n);
if(n1000000)
{
printf("Input error!\n");
}
else
{
result=Func(n);
printf("%d\n",result);
}
}
int Func(int n)
{
int m,i;
for(m=999;m>=100;m--)
{
if(n%m==0)
return m;
}

}
qq_42331081
qq_42331081 回复qq_42331081: 20行的i就不用定义了,只要定义一个m就行了
大约 2 年之前 回复
qq_42331081
qq_42331081 回复qq_42331081: 第八行换成if(n<1000||n>1000000)
大约 2 年之前 回复
qq_42331081
qq_42331081 有点小问题,给你点建议:1
大约 2 年之前 回复

是指那个所有约数中最大的三个吗?还是说是什么?

int Func(int n) {
int array[n];
int i,j = 0;
if (n < 1000 || n > 1000000) {
printf("Input error!\n");
return -1;
}

for(i=1; i <= n/2; i++) {
   if (n%i == 0) {
       array[j] = i;
       j++;
       printf("find one: %d\n", i);
   }
}
if (j >= 3) {
    printf("\nlast three is: %d %d %d\n", array[j-3], array[j-2], array[j-1]);
}
return 0;

}

for(i=n/2; i >= 1; i-- {
if (n%i == 0) {
array[j] = i;
j++;
printf("find one: %d\n", i);
if(3 == j)
break;
}
}
if (j >= 3) {
printf("\nlast three is: %d %d %d\n", array[0], array[1], array[2]);
}
return 0;

import java.util.Scanner;
public class Func {
public static void main(String[] args){

Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] list = new int[n];
int j = 0;
if(n < 1000 ||n>1000000){
System.out.println("Input error");
}
else{
for(int i = 2;i < n;i++){

if(n % i == 0){
list[j] = i;
j++;
}

      }

}
System.out.println(n/list[0]);
System.out.println(n/list[1]);
System.out.println(n/list[2]);

}
}

我也是个菜鸟,看你也是菜鸟就帮忙答一下了...
返回-1的就是错的,返回其他的就是约数了。
static int Func(int n)
{
if (n >= 1000 && n <= 1000000)
{
for (int i = 999; i > 100; i--)
{
if (0 == n % i)
{
return i;
}
}
return -1;
}
else
{
return -1;
}
}


qq_38646470
龙跃十二 随机输入n,你这个n好像不随机,这回图书馆关门了,明天给您写。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问