
展开全部
程序有一点小问题,就是在计算a的时候 应该是a = pow(2, N) - 1;
其他的没什么问题,不应该输出乱码的, 另外,在打印N之后加个break 退出循环,不然会一直算到1000 不符题意也没必要
我测试的程序
#include <stdio.h>
#include <math.h>
int main()
{
int M, N, a, b, i;
scanf("%d", &M);
for(N= 1; N < 1000; N ++)
{
a = pow(2, N) - 1;
b = 10 * M * N;
if(a >= b) {printf("%d\n", N); break;}
}
}
其他的没什么问题,不应该输出乱码的, 另外,在打印N之后加个break 退出循环,不然会一直算到1000 不符题意也没必要
我测试的程序
#include <stdio.h>
#include <math.h>
int main()
{
int M, N, a, b, i;
scanf("%d", &M);
for(N= 1; N < 1000; N ++)
{
a = pow(2, N) - 1;
b = 10 * M * N;
if(a >= b) {printf("%d\n", N); break;}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询