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小时呢!) 进 ...
随机推荐
- 2016.7.14 如何在浏览器中查看jsp文件
参考资料: http://jingyan.baidu.com/article/ed15cb1b10f1241be36981ab.html 1.复制jsp文件地址 2.写在浏览器里 E:/lyh/tas ...
- 转: CSRF(Cross Site Request Forgery 跨站域请求伪造) 背景与介绍
from: https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/ 在 IBM Bluemix 云平台上开发并部署您的下一个应用 ...
- AAuto如何设置字体大小
在代码视图中(按钮呈现的是设计视图,你再按一下就切换成代码视图了)可以设置缩放比率,右下角也可以设置字体大小 如果你的"设计视图"是灰色不可点击,那是因为你的代码根本没有按钮, ...
- "贪心法"
有没有想过 “==” 和“= =” 的区别 , 万一编译器曲解了你的意思,那不是爽歪歪! C语言编译器会把前面的符号当做一个整体,后面的不再. 当我们遇到指针相除时: y=x/*p 编译器会怎样? 和 ...
- vue2.X 组件通信($emit $on props)
1.index.html 子组件直接修改父组件的数据 组件通讯: vm.$emit(); vm.$on(); 父组件和子组件: 子组件想要拿到父组件数据: 通过 props 之前,子组件可以更改父组 ...
- vue.js+koa2项目实战(三)登录注册模态框
登录注册模态框 注: [Vue warn]: Do not use built-in or reserved HTML elements as component id: diaLog 原因:diaL ...
- mysql主从只同步部分库或表
同步部分数据有两个思路,1.master只发送需要的:2.slave只接收想要的. master端: binlog-do-db 二进制日志记录的数据库(多数据库用逗号,隔开)binlog-i ...
- 设计模式之MVC设计模式初阶
MVC M:Model(数据) V:View(界面) C:Control(控制) 1⃣️Control可以直接访问View和Model 2⃣️View不可以拥有Control和Model属性,降低耦合 ...
- C#按指定长度分割字符串
C#按指定长度分割字符串 这几天学习分析声音的波形数据,接收到的是十六进制的数据,需要将数据转换成十进制再绘图,这个过程涉及到字符串的分割,正好可以促进自己对C#相关知识的学习.说到分割字符串,我 ...
- hdu 2814 Interesting Fibonacci
pid=2814">点击此处就可以传送 hdu 2814 题目大意:就是给你两个函数,一个是F(n) = F(n-1) + F(n-2), F(0) = 0, F(1) = 1; 还有 ...