求大佬帮
求解答#include <stdio.h>
int main()
{
int n,i,j,N,count=3;
printf("请输入n = ");
scanf("%d", &n);
printf("请输入N = ");
scanf("%d", &N);
int yh = {1};
for(i=0;i<=n;i++)
{
yh = 1;
yh = 1;
}
if (N==1)
{
printf("%d",N);
return 0;
}
for(i=2;i<=n;i++)
{
for(j=1;j<i;j++)
{
yh = yh + yh;
if (yh==N)
{
printf("%d",count + j+1);
return 0;
}
}
count= count + i+1;
}
return 0;
} 大马强 发表于 2022-4-3 18:34
错的呀。。。 感谢大佬回复 fast1314 发表于 2022-4-4 11:46
错的呀。。。 感谢大佬回复
你输入啥,结果没对? 本帖最后由 jhq999 于 2022-4-4 12:53 编辑
大马强 发表于 2022-4-4 12:17
你输入啥,结果没对?
估计是因为所有评测用例最大10个亿
发现一个规律
n是行数从1开始
每行的和是2^(n-1)
jhq999 发表于 2022-4-4 12:33
估计是因为所有评测用例最大10个亿
发现一个规律
n是行数从1开始
我直接丢c语言网测呀
fast1314 发表于 2022-4-4 13:28
我直接丢c语言网测呀
说编译错误
{:10_285:} fast1314 发表于 2022-4-4 13:28
说编译错误
#include <stdio.h>
int main()
{
int n,i,j,N,count=3;
int yh;
printf("请输入n = ");
scanf("%d", &n);
printf("请输入N = ");
scanf("%d", &N);
for(i=0;i<=n;i++)
{
yh = 1;
yh = 1;
}
if (N==1)
{
printf("%d",N);
return 0;
}
for(i=2;i<=n;i++)
{
for(j=1;j<i;j++)
{
yh = yh + yh;
if (yh==N)
{
printf("%d",count + j+1);
return 0;
}
}
count= count + i+1;
}
return 0;
} 大马强 发表于 2022-4-4 15:55
一样 辛苦了 fast1314 发表于 2022-4-5 15:35
一样 辛苦了
{:10_266:}
页:
[1]