为了账号安全,请及时绑定邮箱和手机立即绑定

编程计算并输出n的所有约数中最大的三位数(即最大的三位约数

编程计算并输出n的所有约数中最大的三位数(即最大的三位约数

C
一把木剑 2017-11-26 11:19:10
#include<stdio.h> int Func(int n); int main() {  int n, result;  printf("%d", 1000 % 999);  printf("input n:");  scanf("%d", &n);  result = Func(n);  printf("%d\n", result);    return 0; } int Func(int n) {  int m,i;  if (n < 1000 || n>1000000)  {   printf("input error!\n");  }  else  {   for (m = 999;m < 100;m--)   {    if (n%m == 0)     break;   }   }  return m; }
查看完整描述

3 回答

?
微笑听雨

TA贡献27条经验 获得超25个赞

m开始值是999,运行一次然后m自减1,得998,碰到m<100条件会直接结束,不会往下执行

查看完整回答
反对 回复 2017-11-28
  • 一把木剑
    一把木剑
    可是我不会写正确的,能不能教教我,谢谢
  • 微笑听雨
    微笑听雨
    #include<stdio.h> int main(){ printf("please input a num\n"); int n; scanf("%d", &n); int result = func(n); printf("result:%d\n", result); } int func(int n){ if (n < 1000 || n >1000000){ printf("input error"); return -1; } else { int m = 999; while (m >= 100) { if ((n % m) == 0) { return m; } m--; } return -2; } }
  • 微笑听雨
    微笑听雨
    你可以测试下,不会的再问我
?
慕用4063026

TA贡献195条经验 获得超115个赞

不知道你的完整题目要求是什么,但是这个for有问题啊for (m = 999;m < 100;m--)

查看完整回答
反对 回复 2017-11-26
  • 一把木剑
    一把木剑
    什么问题? 假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。 函数原型: long Fact(int n); 函数功能:计算n的阶乘
  • 慕神5139126
    慕神5139126
    for (m = 999; m > 100; m--)
  • 3 回答
  • 0 关注
  • 5284 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信