求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.

有我自己编的但是答案不对请帮忙看看哪里不对#include<stdio.h>voidmain(){inti=1,j,n;for(j=1;j<=1500;n++){if(n... 有我自己编的但是答案不对
请帮忙看看哪里不对

#include <stdio.h>
void main()
{
int i=1,j,n;
for (j=1;j<=1500;n++)
{
if (n%2==0||n%3==0||n%5==0)
i=n;
{
printf("第%d个=%d\n",j,i);
j++;
}
}
}
展开
 我来答
匿名用户
2015-10-08
展开全部
1,for (j=1;j<=1500;n++) for (n=1;n<=1500;n++)
2,if (n%2==0||n%3==0||n%5==0) 应该是一直除到不能除尽为止,再判断是否是0

后面的输出自己改吧
追问
能具体说明一下吗  没看懂
追答
if (n%2==0||n%3==0||n%5==0)
主要是这个,因为要求
只有2,3,5因子的数
而这中方法并不能排除其他的因数
int i=n;
可以改成while(i%2==0)
{
i/=2;

}
3和5一样
最后判是不是1(之前手误)
参考
#include
int make(int x,int y)
{
while(x%y==0)
{
x/=y;
}
return x;
}
int main()
{
int ans=0;
for(int i=1;;i++)
{
int n=i;
n=make(n,2);n=make(n,3);n=make(n,5);
if(n==1)
ans++;
if(ans==1500)
{
printf("%d",i);break;
}
}
}
白色vs炫影
2015-10-08 · TA获得超过167个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:56.3万
展开全部
你的j没累加,永远等于1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式