9-1 series1.c

 #include <stdio.h>
 int main()
 {
     float s=0.0,k;
     int n;
     printf("输入数字k(1~15):");
     scanf("%f",&k);
     n=;
     do{
         n++;
         s+=1.0/(float)n;
     }while(k>=s);
     printf("n=%d\n",n);
     getch();
     ;
 }

9-2 series2.c

 #include <stdio.h>
 #define MAXN 100    //数组最大下标值
  }, s[MAXN] =
 {
 };    //dec保存n的倒数,s保存结果值
 int calc(int k)
 {
    ;
    s[] = s[] = ;
    do
    {
       n++;
       dec[] =  / n;
       residue =  % n;    //余数
       ; i < MAXN; i++)    //求1/n
       {
          div = residue * ;    //将余数扩大10倍
          residue = div % n;    //得到余数
          dec[i] = div / n;    //保存商
       }
       //计算sn
       div = ;
       carry = ;    //进位
       ; i >= ; i--)    //从低位开始逐位相加
       {
          div = dec[i] + s[i] + carry;    //累加一位和进位值
          carry = div / ;    //进位
          s[i] = div % ;    //保留一位数
       }
       s[] = s[] + carry;    //加进位(K最大为15,b[0]保存10位数
    }
    ] *  + s[] < k);
    return n;
 }
 int main()
 {
    int k, n;
    printf("输入数字k(1~15):");
    scanf("%d", &k);
    )
    {
       printf("n=2\n");
       getch();
       ;
    } else
    {
       n = ;
       n = calc(k);
    }
    printf("n=%d\n", n);
    getch();
    ;
 }

9-3 prime.c

 #include <stdio.h>
 #define  MAXN  20
 char N, K;    //N保存整数个数,选M个数相加
 int iCount, Sum;
 int Num[MAXN];    //保存输入的MAXN个数
 ];    //保存1~10000之间的数,若下标为素数,则元素值为1
 ];    //保存素数
 int List[MAXN];    //保存列表
 void GenPrime() //用筛选法将2~10000之间的素数选出来
 {
    ;
    Flag[] = Flag[] = ;
    ; i <= ; i++)    //初始化数组
       Flag[i] = ;
    ; i <= ; i++)
    {
       )    //
       {
          Prime[s++] = i;    //保存第s个素数为i
          j =  * i;
          )
          {
             Flag[j] = ;
             j = j + i;    //将i的倍数筛选掉
          }
       }
    }
 }
 void IsPrime(int s)
 {
    ;    //flag若为0,表示flag是素数
    )    //小于10000,直接判断是否为素数
    {
       if (Flag[s])    //若s是素数
          iCount++;    //增加计数器
    }
    else    //若累加和大于10000,需单独判断是否为素数
    {
       i = ;
       while (Prime[i] * Prime[i] < s)    //s大于Prime[i]的平方
       {
          )    //若s能被某个素数整除
          {
             flag = ;    //表示s不是素素
             break;    //退出循环
          }
          i++;
       }
       )    //若是素数
          iCount++;    //累加素数计数器
    }
 }
 void Try(int d, int pre)    //在N个数据中查找
 {
    int i;
    for (i = pre; i < N - (K - d); i++)
    {
       Sum += Num[i];    //累加整数
       List[d - ] = i;
       if (d == K)    //若累加的整数个数等于K个
          IsPrime(Sum);    //调用函数判断Sum是否为素数
       else    //若不等于K个
          Try(d + , i + );    //递归调用,累加下一个整数
       Sum -= Num[i];    //回溯,减去前1个整数
    }
 }
 int main()
 {
    int i;
    FILE *fp1, *fp2;
    if ((fp1 = fopen("prime.in", "r")) == NULL)
    {
       printf("不能打开文件!\n");
       exit();
    }
    fscanf(fp1, "%d%d\n", &N, &K);
    ; i < N; i++)    //逐个输入N个数
       fscanf(fp1, "%d", &Num[i]);
    fclose(fp1);
    iCount = ;    //计数器
    Sum = ;    //累加和清0
    GenPrime();    //调用函数生成素数,保存在数组p中
    Try(, );    //反复查找
    if ((fp2 = fopen("prime.out", "w")) == NULL)
    {
       printf("不能打开文件!\n");
       exit();
    }
    printf("%d\n", iCount);  //输出结果数量
    fprintf(fp2, "%d\n", iCount);
    fclose(fp2);
    getch();
    ;
 }

9.1 NOIP普及组试题精解(1)的更多相关文章

  1. 9.1 NOIP普及组试题精解(2)

    9-4 soldier.c #include <stdio.h> #define MAXN 21 }; int n, m, x, y; //n,m为B点的行列坐标位置,x,y为马的坐标位置 ...

  2. 9.1 NOIP普及组试题精解(3)

    9-6 seat.c #include <stdio.h> #define MAXN 1001 void swap(int *a, int *b) //交换数据 { int t; t = ...

  3. 9.2 NOIP提高组试题精解(2)

    9-18 fruit.c #include <stdio.h> #define MAXN 10000 int Queue1[MAXN], Queue2[MAXN]; void Insert ...

  4. 9.2 NOIP提高组试题精解(1)

    9-16 poise.c #include <stdio.h> #define MAXN 1001 int main() { ], flag[MAXN] = { }; //保存6种砝码的数 ...

  5. 2016.10.6初中部上午NOIP普及组比赛总结

    2016.10.6初中部上午NOIP普及组比赛总结 中了病毒--病毒--病毒-- 进度: 比赛:AC+0+0+20=120 改题:AC+0+AC+20=220 Stairs 好--简--单!递推就过了 ...

  6. 2016.8.15上午纪中初中部NOIP普及组比赛

    2016.8.15上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1333 这次比赛不怎么好,因为这套题目我并不是很擅长. 可同学们 ...

  7. 2016.9.15初中部上午NOIP普及组比赛总结

    2016.9.15初中部上午NOIP普及组比赛总结 2016.09.15[初中部 NOIP普及组 ]模拟赛 又翻车了!表示时超和空超很可恨! 进度 比赛:AC+0+0+20=120 改题:AC+80+ ...

  8. 2016.9.10初中部上午NOIP普及组比赛总结

    2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...

  9. 2016.9.3初中部上午NOIP普及组比赛总结

    2016.9.3初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1339 这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!) 进 ...

随机推荐

  1. Bag标签之校验

    校验输入的内容是不是正确(校验整数.小数.字母.汉字或日文.username.XML节点名.日期.邮件及自己定义) 使用方法: <Bagid=书包名 act=verify> <wen ...

  2. 【Python】使用类和实例

    Car类 class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name sel ...

  3. [魅族Degao]Androidclient性能优化

    本文由魅族科技有限公司资深Android开发project师degao(嵌入式企鹅圈原创团队成员)撰写,是degao在嵌入式企鹅圈发表的第一篇原创文章,毫无保留地总结分享其在领导魅族多个项目开发中的A ...

  4. 阿里云服务器教程–SSH 登录时出现如下错误:Host key verification failed

    注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 使用 SSH 登 ...

  5. 生成二维码(jquery.qrcode.min.js插件)

    生成二维码:参看GitHub资源https://github.com/jeromeetienne/jquery-qrcode 直接上代码:(都需要引入jQuery.js  1.引入(jquery.qr ...

  6. RF常用库简介(robotframework)

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  7. 企业级API设计

    最近对service的API设计,在team内有些讨论,主要集中在API是足够抽象.通用好呢, 还是具体.易用好? 其实这个是要折衷的,通用的好处是以后更改API的可能性小,但坏处是想要通用,里面的字 ...

  8. UbuntuServer12.04安装MongoDB,开机自启,服务,权限

    获取最新版本 去http://www.mongodb.org/downloads找最新版的链接 wget http://fastdl.mongodb.org/linux/mongodb-linux-x ...

  9. 解决mysql数据库乱码问题

    MySQL的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小.速 度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选 ...

  10. 深入理解Java 8 Stream

    Java 8中新增了Stream,主要是lambda表达式的应用,其链式调用简洁,用于高效表达集合操作. 先对Stream的使用做了解,参照blog. (1) 生成Stream的方式 主要有以下几种 ...