- 博客(23)
- 收藏
- 关注
原创 题目1163:素数
// 素数筛选法。。。#includeint prime[10000]; // 保存筛得的素数int primesize; // 保存素数的个数bool mark[10001]; // 为true时,表示是非素数 void init(){ for(int i=1;i mark[i]=false; } // 初始
2014-02-28 17:41:00 852
原创 题目1047:素数判定
#include#includebool judge(int x){ if(x int bound=(int)sqrt(x)+1; for(int i=2;i if(x%i==0) return false; } return true;}int main(){ int n;
2014-02-28 17:19:57 657
原创 题目1439:Least Common Multiple
#includeint gcd(int a,int b){ //求最大公约数 if(b==0) return a; else return gcd(b,a%b); }int main(){ int n,m,a,b; while(scanf("%d",&n)!=EOF){ while
2014-02-28 16:45:26 895 2
原创 题目1438:最小公倍数
#includeint gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); }int main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF){ printf("%d\n",a*b/gcd(a,b));
2014-02-28 16:13:14 543
原创 题目1056:最大公约数
12345678910111213141516171819202122#includeintgcd(inta,intb){ if(b==0)returna
2014-02-28 16:04:34 511
原创 题目1194:八进制
#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ // printf("%o\n",n); 直接就可以出结果!!! int ans[100],size=0; do{ ans[size++]=n%8;
2014-02-27 16:47:22 682
原创 题目1118:数制转换
// 依然是进制转换:先由a进制转换为十进制,再由十进制转换为b进制#include#includeint main(){ int a,b; char str[40]; while(scanf("%d%s%d",&a,str,&b)!=EOF){ int tmp=0,lenth=strlen(str),c=1; fo
2014-02-27 15:32:53 726
原创 题目1026:又一版 A+B
// 简单的进制转换问题。。。#includeint main(){ long long a,b; int m; while(scanf("%d",&m)!=EOF){ if(m==0) break; scanf("%lld%lld",&a,&b); a=a+b; int ans[50
2014-02-27 15:20:30 1372
原创 题目1124:Digital Roots
#include#includeint main(){ char buf[100]; while(scanf("%s",buf)!=EOF){ if(strcmp(buf,"0")==0) break; int ans=10; while(ans>=10){ ans=0;
2014-02-27 15:07:42 566
原创 题目1074:对称平方数
#include#includeint main(){ printf("0\n"); for(int i=1;i int j=i*i; char s[10]; sprintf(s,"%d",j); int k,t,flag=0; for(k=0,t=strlen(s)-1;s[
2014-02-26 16:28:00 626 2
原创 题目1083:特殊乘法
// 基于数学原理。。。#includeint main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF){ int buf1[20],buf2[20],size1=0,size2=0; while(a!=0){ buf1[size1++]=a%10; a/=10;
2014-02-26 16:09:47 665
转载 sprintf的使用
#include 函数原型:int sprintf( char *buffer, const char *format [,argument] ... )注意这里的buffer指针 指向的是格式化字符后写入的首地址说明文档上的描述: Write formatted data to a string. These functions are deprecated
2014-02-26 15:16:13 2298
原创 题目1183:守形数
//很简单的一个题,却因为输出时少了‘!’而wa了两次。。。// 两种方法,第二种用函数sprintf().#includeintmain(){ intn; while(scanf("%d",&n)!=EOF){ intm=n*n; int
2014-02-26 15:12:30 822
原创 题目1015:还是A+B
#include#includeint main(){ int a,b,k; while(scanf("%d%d%d",&a,&b,&k)!=EOF){ if(a==0 && b==0) break; int flag=0; for(int i=0;i if(a%10 != b%10){
2014-02-26 14:39:41 747
原创 题目1009:二叉搜索树
// 判断两棵二叉树是否相同// 对两棵树进行包括中序遍历在内的两种遍历,若两种遍历结果相同,那么这两棵树完全相同#include#includestruct Node{ // 二叉树结构体 Node *lchild; // 左儿子指针 Node *rchild; // 右儿子指针 int c; }Tree[110
2014-02-23 17:58:58 1052
原创 题目1201:二叉排序树
//首先建立二叉排序树,然后前、中、后序遍历// 若x小于根结点数值,插入其左子树中 // 若x大于根结点数值,插入其右子树中// 若x等于根结点数值,根据题目要求直接忽略 #include#includestruct Node{ // 二叉树结构体 Node *lchild; // 左儿子指针 Node *rchild; //
2014-02-23 17:27:19 781
原创 题目1176:树查找
// 直接用二叉树的性质即可。。。需要知道log是以10为底,需要转换为以2为底,// 以及向下取整的函数double floor(double), 令向上取整的函数是double ceil(double)#include#includedouble lg2(double n) // 求以2为底的对数{ return log(n)/log(2);}int ma
2014-02-23 17:04:30 748
原创 题目1113:二叉树
// 这虽然是二叉树,但是直接用公式求更简单些!#include#includeint main(){ long long n,m,left,count; while(scanf("%lld%lld",&m,&n)!=EOF && m!=0 && n!=0){ long long count=0; int i=0;
2014-02-23 16:38:30 1014
原创 题目1078:二叉树遍历
// 简单的二叉树遍历#include#includestruct Node{ // 树结点指针 Node *lchild; // 左儿子指针 Node *rchild; // 右儿子指针 char c; // 结点字符信息 }Tree[50]; // 静态内存分配数组int loc;
2014-02-23 16:15:04 820
原创 题目1107:搬水果
// 很简单的一种方法:堆,似乎和上一次的哈夫曼树是完全相同的#include#includeusing namespace std;priority_queue,greater > Q; // 小顶堆int main(){ int n; while(scanf("%d\n",&n)!=EOF){ if(n==0) break;
2014-02-22 17:29:33 612
原创 题目1172:哈夫曼树
// 简单的哈夫曼树#include#include // 默认为大顶堆using namespace std;priority_queue,greater > Q; //建立一个小顶堆int main(){ int n; while(scanf("%d",&n)!=EOF){
2014-02-22 17:18:37 865
原创 题目1101:计算表达式
// 这种方法似乎比堆栈方法简单些,记下吧!#include int main(){ int i,j,k,a[100]; char x; while(scanf("%d",&k)!=EOF) { a[0]=0; i=0; a[++i]=k; while(scanf("%c",&x)
2014-02-22 16:48:23 777
原创 题目1108:堆栈的使用
// wa了好几次,就是下面注释的地方错误。。。知道为什么错误的请回复以下哦!#include#include#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF && n!=0){ getchar(); s
2014-02-22 13:36:17 809 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人