欧拉计划40——钱珀瑙恩常数

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 04:43   11   0

将所有正整数连接起来构造的一个十进制无理数如下所示:

0.123456789101112131415161718192021…

可以看出小数点后第12位数字是1。

如果dn表示上述无理数小数点后的第n位数字,求下式的值:

d1 × d10 × d100 × d1000 × d10000 × d100000 × d1000000


char s[1005000] = {0};
void fun10(void)
{
 long i, sum = 1, k = 1, m = 0, n = 0;
 char s1[100];
 
 for (i = 1; ; i++)
 {
  sprintf(s1, "%d", i);
  strcat(s,s1);
  
  if (strlen(s) >= k)
  {
   m = s[k-1] - 48;
   sum *= m;
   k *= 10;
   ++n;
   printf("%ld %ld %ld\n", sum, k, m);
  }
  if (n == 7)
   break;
 }
 printf("%d\n", sum);
}
int main (void)
{
 fun10();
 return 0;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP