发布网友 发布时间:2024-10-24 05:09
共3个回答
热心网友 时间:2024-10-24 05:22
#include <stdio.h>
int main () {
int n = 555555, temp = 999;//让n为555555,把temp置为最大的三位数
while (temp > 1) {
if (n % temp == 0 && temp >= 100) //如果temp能被n整除(也就是说temp是n的约数),并且temp大于100(保证它是三位数)
break; //符合上一行提到的条件就跳出
temp -= 2; //否则就把temp减2(这是因为n是奇数,所以约数也只可能是奇数,这样能减少一半左右的计算量)
}
if (temp == 1) //如果temp等于1,那说明没有找到符合条件的
printf("Don't find.\n");
else //找到符合条件的,打印
printf("%d\n", temp);
}
热心网友 时间:2024-10-24 05:27
#include<stdio.h>
void main()
{
const long n=555555;
long i;
for(i=n/2;i>1;i--)//从大往小查找
{
if(n%i==0)//是n的约数
{
if(i/1000==0
&&i/100!=0)//是三位数
{
printf("%d!\n",i);
break;
}
}
}
}
热心网友 时间:2024-10-24 05:24
int main()
{
long n = 555555;
int i;
for (i = 999; i >= 100; i++)
{
if (n % i == 0)
{
printf("%ld", i);
break;
}
}
return 0;
}