# ACM程序设计-计算简单题

ACM程序设计 ACM程序设计

2/31

3/31

4/31

#include <stdio.h> int main(void) { int i,j,k=0,n,sum,a[100]; for(i=2;i<10000;i+=2) //已知完数为偶数 已知完数为偶数 { sum=1; for(j=2;j<=i/2;j++) { if(i%j==0) sum+=j; } if(sum==i) a[k++]=i; }
5/31

while(scanf("%d",&n)==1) { printf("%d: ",n); for(i=0;i<k;i++) { if(a[i]<=n) printf("%d ",a[i]); } printf("\n"); } return 0; }
6/31

7/31

8/31

9/31

#include <stdio.h> #include <math.h> int isprime(int a) { int i; int s=(int)sqrt((double)a); for(i=2;i<=s;i++) { if(a%i==0) return 0; } return 1; }
10/31

int main(void) { int n; while(scanf("%d",&n)==1) { printf("%s",(n>100&&n<1000 &&n/100==n%10 &&isprime(n)) ?"Yes\n":"No\n"); } return 0; }
11/31

12/31

13/31

14/31

#include <stdio.h> int isprime(int n) { int i; if(n==1) //1不是素数 不是素数 return 0; if(n!=2&&n%2==0)//除开 以外的偶数 除开2以外的偶数 除开 return 0; for(i=3;i*i<=n;i+=2)//恰好跳过 恰好跳过2,3,5,7，它们是素数 恰好跳过 ， { if(n%i==0) return 0; } return 1; }
15/31

int issym(int n) { if(n<12&&n!=10)//1位是对称数，2位素数中只有 是对称的 位是对称数， 位素数中只有 位素数中只有11是对称的 位是对称数 return 1; if(n>100&&n<1000&&n/100==n%10)//3位数中只须个位与 位数中只须个位与 百位相等 return 1; //注意四位数不可能有对称的素数，易得有 因子 注意四位数不可能有对称的素数， 注意四位数不可能有对称的素数 易得有11因子 if(n>10000&&n/1000==n%10*10+n/10%10) return 1; return 0; }

16/31

int main(void) { int n; while(scanf("%d",&n)==1) { printf("%s\n",n<100000&&issym(n) &&isprime(n)?"Yes":"No"); } return 0; }
17/31

An easy problem
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

18/31

Problem Description
When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of water plus 1 pile of dough ..” , “100 yuan buy 100 pig” .etc.. One day Teddy met a old man in his dream , in that dream the man whose name was“RuLai” gave Teddy a problem : Given an N , can you calculate how many ways to write N as i * j + i + j (0 < i <= j) ? Teddy found the answer when N was less than 10…but if N get bigger , he found it was too difficult for him to solve. Well , you clever ACMers ,could you help little Teddy to solve this problem and let him have a good dream ?
19/31

Input The first line contain a T(T <= 2000) . followed by T lines ,each line contain an integer N (0<=N <= 1010 ). Output For each case, output the number of ways in one line.

20/31

Sample input: 2 1 3 Sample output: 0 1

21/31

22/31

23/31

2. 当N +１非完全平方数，同理可得， １非完全平方数，同理可得， ans = (f[N + 1] – 2) / 2 。 如何快速的求一个数N的约数个数 如何快速的求一个数 的约数个数 我们知道,任何一个自然数 可以表示成其质因数 我们知道 任何一个自然数N可以表示成其质因数 任何一个自然数 的幂的乘积的形式. 的幂的乘积的形式 a1 a2 an 1 2 n

N= p ×p

× ...... × p

24/31

1、简单的筛素数 、

25/31

const int Max = 100000; bool bp[Max + 1]; //记录每个数是否是素数 记录每个数是否是素数 int p[30000]; //记录筛选出来的素数 记录筛选出来的素数 int pCnt=0; //记录当前筛选出来的素数个数 记录当前筛选出来的素数个数 void sievePrime() { int i, j; memset(bp, true, sizeof(bp)); bp[0] = bp[1] = false; for (i = 2; i <= Max; i++) { if (bp[i]) //i是素数 是素数 { p[pCnt++] = i; for (j = i + i; j <= Max; j += i) //依次筛掉 的倍数 依次筛掉i的倍数 依次筛掉 bp[j] = false; } } }

26/31

### ACM程序设计试题

ACM程序设计试题_计算机软件及应用_IT/计算机_专业...行编辑器 Problem 一个简单的行编辑程序的功能是: ...给出 a,b(0〈a〈b〈1000),编程计算最好的表达...

### ACM算法设计实验题目汇总

ACM 算法设计实验题目汇总 1020 Permutation with ...编程任务: 对于给定的 k 个待安排的活动,编程计算...cs3简单制作动态搞笑图片 160份文档 2014年度细分行业...

### 《ACM程序设计竞赛基础》教学安排

ACM程序设计竞赛基础》教学安排_教育学/心理学_人文社科_专业资料。《ACM程序...1.2 数论,计算几何,组合等各方向简单常见赛题分析。 2.基本要求 掌握一些基本...

### ACM程序设计-Operand-Code the Tree

ACM 程序设计实训题库 沈阳理工大学 沈阳理工大学...□计算几何 □数论 ■其他 □简单 ■中等 王琢 ...

### 2009年ACM程序设计竞赛选拔赛试题_-_1

2009 年 ACM 程序设计竞赛选拔赛试题考生需知: 考生需知: 1、 答案必须写在答题纸上,写在试卷上无效。 、 答案必须写在答题纸上,写在试卷上无效。 2、 程序...

### ACM程序设计题目

ACM大赛试题ACM大赛试题隐藏>> ACM 程序设计题目 2006-08-08 15:38 1. 给定...请计算画 完这三个圆所需的最小时间。 输入格式为: 第一行为一个正整数 T...

### acm程序设计大赛题目

acm程序设计大赛题目_IT/计算机_专业资料。几道acm程序设计大赛题目 配答案 可供有兴趣的朋友参考The Mailboxes Manufacturers Problem Time Limit:1000MS Memory Lim...