首页 > 代码库 > 算法竞赛_入门经典_刘汝佳__(2)
算法竞赛_入门经典_刘汝佳__(2)
1,有几位数字
#include<stdio.h> int main_2_1_digit(){ int n; while(scanf("%d",&n)){ int count = 0; if(n==0) count = 1; while(n){ count++; n/=10; } printf("%d\n",count); } return 0; }
2,三位数的三个数字
#include<stdio.h> int main_2_2_daffodil(){ int i,j,k; for(int n=100;n<=999;n++){ i = n % 10; j = (n/10) % 10; k = (n/100) % 10; if( n == i*i*i + j*j*j + k*k*k){ printf("%d\n",n); } } return 0; }
3,韩信点兵
#include<stdio.h> int main_2_3_hanxin(){ int a,b,c; int i,sum; while(scanf("%d%d%d",&a,&b,&c)){ sum = -1; for(i=10;i<=100;i++){ if(i%3 == a && i%5 == b && i%7 == c){ sum =i; break; } } if(sum == -1){ printf("No answer\n"); }else{ printf("%d\n",sum); } } return 0; }
4,打印倒三角
#include<stdio.h> int main_2_4_triangle(){ int n; int i,j; while(scanf("%d",&n)){ for(i=n;i>0;i--){ for(j=1;j < n;j++){ if(j+i >= n+1){ printf("#"); }else{ printf(" "); } } printf("#"); for(j=n+1;j < 2*n;j++){ if(j-i <= n-1){ printf("#"); }else{ printf(" "); } } printf("\n"); } } return 0; }
5,输入n个数,比m小的
#include<stdio.h> int main_2_5_stat(){ int arr[1000]; int n,m; int i; int count; while(scanf("%d",&n)){ for(i=0;i<n;i++){ scanf("%d",&arr[i]); } scanf("%d",&m); count=0; for(i=0;i<n;i++){ if(m > arr[i]){ count++; } } printf("%d\n",count); } return 0; }
6,数aabb
#include<stdio.h> #include<math.h> int main_aabb_complete(){ int a,b,n; double m; for(a=1;a<=9;a++){ for(b=0;b<=9;b++){ n=a*1100 + b*11; m=sqrt((double)n); //判断m是否为整数 //进行浮点数比较的时候要考虑浮点误差 if(floor(m+0.5) == m){ printf("%d %lf\n",n,m); } } } getchar(); return 0; }
7,浮点数陷阱
#include<stdio.h> int main_float_trap(){ double i; for(i=9;i!=10;i+=0.1){ printf("%.1lf\n",i); if(i>10){ break; } } return 0; }
8,varble_no_init
#include<stdio.h> int main_varble_no_init(){ int a,b,c; printf("%d %d %d",a,b,c); scanf("%d",&a); return 0; }
9,全排列
#include<stdio.h> int n = 0; void swap(int *a,int *b){ int m = *a; *a = *b; *b = m; } void perm(int list[],int k,int m){ int i; if(k > m){ for(i=0;i<=m;i++){ printf("%d ",list[i]); } printf("\n"); n++; }else{ for(i=k;i<=m;i++){ swap(&list[k],&list[i]); perm(list,k+1,m); swap(&list[k],&list[i]); } } } int main_quan_pai_lie_version_1(){ int list[] = {1,2,3,4,5}; perm(list,0,4); printf("total: %d\n",n); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。