标题:C语言解决通项公式问题,求解析(附代码)
只看楼主
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
结帖率:85.11%
已结贴  问题点数:20 回复次数:3 
C语言解决通项公式问题,求解析(附代码)
一个数列的通项为:an=10n,n=0, 1, 2, 3……,构成了 1, 10,100, 1000,…,把它们连起来,就成了数串:110100100010000...。现从键盘输入一个正整数n(n<10000) 用来表示这个数串的第n位,函数judge()的功能是用来输出数串第n位的值(0或1 )。
#include "stdio.h"
int judge(int n)
{ int i; int k=1;
for(i=0; _________ ;i ++_________ )
______________
return (____________________);
}
int main()
{ int n;
printf("input a number,n=");
scanf("%d”,&n);
printf("the value of %d bit is:%d\n,n,___________);
return 0;
}

[此贴子已经被作者于2022-11-21 11:25编辑过]

搜索更多相关主题的帖子: C语言 公式 int 解析 代码 
2022-11-21 11:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
……这个数串的第n位……
这个第n位,是从0开始计数的,还是从1开始计数的?

说个题外话,假如这道题完全自己写的话
程序代码:
// 题目:一个数列的通项为 An=10n,n=0,1,2,3…, 即 1, 10,100, 1000,…,把它们连成数串 110100100010000...。问第i(i<10000)位,是0还是1?
// 解:为1的位分别是第 0、1、3、6、10、15、……,通项公式是 i*(i+1)/2

#include <stdio.h>
#include <stdbool.h>

// 判断 index 是否为 x*(x+1)/2 的值
bool judge( size_t index )
{
    if( index < 2 )
        return true;

    // 判断 1+8*index 是否为 平方数
    size_t a = 1+8*index; // 题目限制 index<10000,因此不溢出
    size_t b = a/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2;
    b = (b+a/b)/2; // 80001 之内求平方根的话,迭代11次精度足够了
    return b*b==a;
}

int main( void )
{
    size_t index;
    printf( "input a number, n = " );
    scanf( "%zu", &index );
    printf( "the value of the %zu(th) bit is: %d\n", index, judge(index-1) ); // 不知道base 0还是base 1?因为题目不严谨,推测作者半吊子,半吊子更喜欢base 1,因此假定作者原意是base 1。
}
2022-11-21 13:37
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
得分:0 
回复 2楼 rjsp
题目看起来,第n位是指第0位
2022-11-21 21:26
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
得分:0 
已经有结论,谢谢大家!
2022-11-22 16:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510723-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120567 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved