9.1 NOIP普及组试题精解(1)
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)的更多相关文章
- 9.1 NOIP普及组试题精解(2)
9-4 soldier.c #include <stdio.h> #define MAXN 21 }; int n, m, x, y; //n,m为B点的行列坐标位置,x,y为马的坐标位置 ...
- 9.1 NOIP普及组试题精解(3)
9-6 seat.c #include <stdio.h> #define MAXN 1001 void swap(int *a, int *b) //交换数据 { int t; t = ...
- 9.2 NOIP提高组试题精解(2)
9-18 fruit.c #include <stdio.h> #define MAXN 10000 int Queue1[MAXN], Queue2[MAXN]; void Insert ...
- 9.2 NOIP提高组试题精解(1)
9-16 poise.c #include <stdio.h> #define MAXN 1001 int main() { ], flag[MAXN] = { }; //保存6种砝码的数 ...
- 2016.10.6初中部上午NOIP普及组比赛总结
2016.10.6初中部上午NOIP普及组比赛总结 中了病毒--病毒--病毒-- 进度: 比赛:AC+0+0+20=120 改题:AC+0+AC+20=220 Stairs 好--简--单!递推就过了 ...
- 2016.8.15上午纪中初中部NOIP普及组比赛
2016.8.15上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1333 这次比赛不怎么好,因为这套题目我并不是很擅长. 可同学们 ...
- 2016.9.15初中部上午NOIP普及组比赛总结
2016.9.15初中部上午NOIP普及组比赛总结 2016.09.15[初中部 NOIP普及组 ]模拟赛 又翻车了!表示时超和空超很可恨! 进度 比赛:AC+0+0+20=120 改题:AC+80+ ...
- 2016.9.10初中部上午NOIP普及组比赛总结
2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...
- 2016.9.3初中部上午NOIP普及组比赛总结
2016.9.3初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1339 这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!) 进 ...
随机推荐
- python 查询,子查询以及1对多查询
1.添加数据: # 方法1:对象.save() book = Book(**kwargs) book.save() # 方法2:类.create(**kwargs) Book.create(**kwa ...
- TCP/IP详解 卷一(第二章 链路层)
在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路 ...
- Codeforces Hello2015第一题Cursed Query
英文题面: De Prezer loves movies and series. He has watched the Troy for like 100 times and also he is a ...
- Command &Prompt Here
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\Command Prompt Here]@=" ...
- win10 1709正式版iso镜像下载|windows10 1709秋季创意者更新官方下载地址
win10 1709正式版iso镜像下载|windows10 1709秋季创意者更新官方下载地址 发布时间:2017-10-18 14:27发布者:系统城-xtcjh浏览数:74458 win10 1 ...
- JavaScript读书笔记(5)-Object Date
1.Object类型 (1)创建Object实例 第一种方式:new操作符后跟Object构造函数 var person=new Object(); person.name=”Nicholas”; p ...
- AI生万物,新世界的大门已敞开
四月是万物复苏的时节,一年一度的GMIC全球移动互联网大会也在这个时间如期而至,在4月26日-28日的会议期间,有超过三百位行业专家进行了精彩的演讲,更有数万名现场观众感受到思维碰撞迸发出的火花. 作 ...
- HTML中Select的使用详解
<html><head><SCRIPT LANGUAGE="JavaScript"><!--//oSelect 列表的底部添加了一个新选项 ...
- eolinker开源版接口管理
eolinker开源版接口管理 想找一个API接口管理的软件,为了安全性和扩展性考虑,希望是开源的,而且可以在内网独立部署.网上翻找了资料,经过一份比对之后,最终采用eolinker.过去有使用过RA ...
- iOS 逆向 - Class-dump 安装和使用方法
1.下载安装包 http://stevenygard.com/projects/class-dump/,这里我下载的是 class-dump-3.5.dmp.然后把下载下来的 dmg 打开,复制文件里 ...