这章的题应该都算是水题了,都是一些最基本入门的模拟,不涉及任何算法,LRJ老师为的就是让大家熟悉熟悉竞赛的入门和最简单的竞赛.只要认真的模拟和思考,然后结合书本前面讲的那些知识的灵活运用,分分秒秒不在话下、、、、
2-1
# include<cstdio> # include<iostream> using namespace std; int a,b,c; int f( int x ) { a = x/100; b = x/10%10; c = x%10; if ( a*a*a+b*b*b+c*c*c == x ) return 1; else return 0; } int main(void) { //int a,b,c; for ( int i = 100;i < 200;i++ ) { if(f(i)) cout<<i<<endl; else continuel } return 0; }
2-2
# include<cstdio> # include<iostream> using namespace std; int main(void) { int a,b,c; cin>>a>>b>>c; int cnt = 0; int flag = 1; for ( int i = 10;i <= 100;i++ ) { if ( i%3==a&&i%5==b&&i%7==c ) { cnt++; flag = 0; printf("Case %d %d",cnt,i); } } if ( flag) cout<<"No answer"<<endl; return 0; }
2-3
# include<cstdio> # include<iostream> using namespace std; int main(void) { int n;cin>>n; int k = 0; for ( int i = 0;i < n;i++ ) { k = i; for ( int j = 0;j < k;j++ ) printf(" "); for ( int l = 0;l < 2*n-2*i-1;l++ ) printf("#"); printf("\n"); } return 0; }
2-4
# include<cstdio> # include<iostream> using namespace std; int main(void) { int n,m; int cnt = 0; double o; while ( (scanf("%d%d",&n,&m)!=EOF)&&n!=0&&m!=0 ) { double sum = 0; for ( int i = n;i <= m;i++ ) { o = i; sum += 1.0/(o*o); //cout<<sum<<endl; } printf("Case %d: %.5lf",++cnt,sum); } return 0; }
2-5
# include<cstdio> # include<iostream> using namespace std; int main(void) { int a,b,c; int y;//余数 int s;//商 while ( scanf("%d%d%d",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0 ) { s = a/b;y = a%b; printf("%d.",s); for ( int i = 1;i <= c;i++ ) { if ( (i<c)&&(c!=1) ) { printf("%d",y*10/b); } else { if ( (y*10/b)<5 ) printf("%d",(y*10)/b); else printf("%d",(y*10)/b+1); } y=y*10%b; } } return 0; }
2-6
# include<cstdio> int main(void) { for ( int i = 123;i < 333;i++ ) { if ((i%10)!=(i/10%10)&&(i%10)!=(i/100)&&(i/10%10)!=(i/100) &&((i%10)*(i/10%10)*(i/100)*(2*i%10)*(2*i/10%10) *(2*i/100)*(3*i%10)*(3*i/10%10)*(3*i/100)==362880)) printf("%d %d %d\n",i,i*2,i*3); } return 0; }