解题思路:根据n与3的关系来做
注意事项:
参考代码:
int main()
{
int n,late;
scanf("%d", &n);
int a[1000];
for (int i = 0; i < n; i++)
{
a[i] = i + 1; //输入序号
}
if (n <= 3)
{
if (n == 3)
{
late = a[n-2]; //n=3时被取走了,所以找下一项
} //n小于等于3时的规律
else
{
late = a[n - 1];
}
}
while (n > 3)
{
if (n / 3 == 0)
{
late = a[n - 2];
}
else
{
late = a[n-1];
}
n = n - n / 3; //无论n是不是3的倍数,每次选完后 都会删除n-n/3个数
}
printf("%d", late); //late的值是第几个序号
return 0;
}
0.0分
3 人评分
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1851 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:553 |
哥德巴赫曾猜测 (C语言代码)浏览:1149 |
大神老白 (C语言代码)浏览:690 |
蛇行矩阵 (C语言代码)浏览:792 |
求组合数 (C语言代码)浏览:1207 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:761 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:614 |
最小公倍数 (C语言代码)浏览:1107 |
愚蠢的摄影师 (C++代码)浏览:980 |
李志远 2023-11-18 16:44:17 |
可以啊