求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.
#include<stdio.h>intmain(){intcount=0;intnum=2*3*5;inti=0,j=0,k=0;while(count<1500){i...
#include<stdio.h>
int main()
{
int count = 0;
int num = 2*3*5;
int i=0,j=0,k=0;
while(count < 1500) {
int x = num++;
i=0,j=0,k=0;
if(x % (2*3*5)) {
continue;
}
while(!(x % 2)) {
i ++;
x = x /2;
}
while(!(x % 3)) {
j ++;
x = x /3;
}
while(!(x % 5)) {
k ++;
x = x /5;
}
count ++;
}
printf(" 第%d个数是 2^%d*3^%d*5^%d\n", count, i, j, k);
return 0;
}
最后答案不对,帮我看看是什么地方错误 展开
int main()
{
int count = 0;
int num = 2*3*5;
int i=0,j=0,k=0;
while(count < 1500) {
int x = num++;
i=0,j=0,k=0;
if(x % (2*3*5)) {
continue;
}
while(!(x % 2)) {
i ++;
x = x /2;
}
while(!(x % 3)) {
j ++;
x = x /3;
}
while(!(x % 5)) {
k ++;
x = x /5;
}
count ++;
}
printf(" 第%d个数是 2^%d*3^%d*5^%d\n", count, i, j, k);
return 0;
}
最后答案不对,帮我看看是什么地方错误 展开
2个回答
展开全部
程序已经修改完成,不过这种算法的效率太低。
#include<stdio.h>
int main()
{
int count = 1;
int num = 0;
int i=0,j=0,k=0;
while(count < 1500) {
int x = ++num;
i=0,j=0,k=0;
if(x%2&&x%3&&x%5) {
continue;
}
while(!(x % 2)) {
i ++;
x = x /2;
}
while(!(x % 3)) {
j ++;
x = x /3;
}
while(!(x % 5)) {
k ++;
x = x /5;
}
if(x>1)continue;
count ++;
//printf("%d ",num); //查看用,第1个数是1
}
printf(" 第%d个数是%d=2^%d*3^%d*5^%d\n", count, num, i, j, k);
getch();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询