博文
不用递归和循环输出1到任意一个3的N次方的数(2005-12-23 16:06:00)
摘要:有人能吗? 比如N=3,则输出1,2,3,4,5,6,7,8,9 N=4, 输出1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21......
应该是用宏定义实现吧? 不过怎么实现任意输入N,我就不会了,汗 #include<stdio.h> #define A(n) n;n;n; //宏定义,3个连续语句 int main() { int a=1; A(A(A(printf("%d ",a++)))); //3次方就用3个A() return 0; } ......
C++吧第五界编程大赛.(题目) (2005-12-14 15:02:00)
摘要:资源分配问题。 甲 乙 丙 0 0 0 0 1 3 5 4 2 7 10 6 3 9 11 11 4 12 11 12 5 13 11 12 上面的表表示: 甲(0,3,7,9,12,13) 分1台机器给甲,甲可以带来3的利润 分2台机器给甲,甲可以带来7的利润 分3台机器给甲,甲可以带来9的利润 ... 乙,丙也是同样的解释。 现在的问题就是现在总共只有5台设备。 怎样分配才可以使总的利润最大. 经分析表明:分0台给甲,2台给乙,3台给丙可以使利润最大.(0+10+11=21) 现在的任务就是输入上面的数据,输出使总利润最大的方案。 如果有多种情况的时候随便输出一组 (本数据中{2,2,1}也可以使利润达21) 输入格式为: n m 再输入n+1行数据,每组m列 Input: 5 3 0 0 0 3 5 4 7 10 6 9 11 11 12 11 12 13 11 12 Output: 0 2 3 max=21 ......
C++吧第四界编程大赛.(冠军程序)(2005-12-14 14:41:00)
摘要:19(222.22.84.*)
#include<iostream.h> #include<string.h> #include<iomanip.h> void main() { char str[100]; cout<<"请输入一小写字母串:"<<endl; cin>>str; char *p=str; int Num[26]={0}; while(*p!='\0') { if(!(*p>='a'&&*p<='z')) { cout<<"错误!"<<endl; return; } Num[(*p-'a')]++; p++; } int i,j; int Max=Num[0]; for(i=0;i<26;i++) { if(Num[i]>Max) Max=Num[i]; } cout<<"输出结果:"<<endl; for(i=0;i<Max;i++) { for(j=0;j<26;j++) { if(Num[j]+i>=Max) cout<<"@"<<setw(3); else cout<<" "<<setw(3); } cout<<endl; } for(i=0;i<26;i++) cout<<(char)('a'+i)<<setw(3); cout<<endl; } ......
C++吧第四界编程大赛.(其他人输出)(2005-12-14 14:39:00)
摘要:3@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j k l m n o p q r s t u v w x y z
4@ @ @ @ @ @ @ @ @ @ @@ @ @@ @@@ @ @@@@@@ @ @@@@@@@@ @ @@ abcdefghijklmnopqrstuvwxyz
5
@ @ @ @ @ @ @ @ @ @ @@ @ @@ @@@ @ @@@@@@ @ @@@@@@@@ @ @@ abcdefghijklmnopqrstuvwxyz
8@ @ @ @ @ @ @ @ @ @ @@ @ @@ @@@ @ @@@@@@ @ @@@@@@@@ @ @@ abcdefghijklmnopqrstuvwxyz
13
@@@ @@ @ @@ @ @ @ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @@ @@ @ @ @ @@ @ @@@@@ @ @@@@ @@@ @ @@ @abcdefghijklmnopqrstuvwxyz
14sadjhasdhqwpopeepomcxnnbladkjkfjasjas@@ @  ......
C++(70764321)(2005-12-10 15:06:00)
摘要:#include <iostream.h>#include <string.h>
int fun(char a){ int sum=0; int b=(int) a; while(b) { if(b%2==1) sum++; b=b/2; } return sum;}
int main(){char s[100],last;int i,j;int small,sum,dif,total,flag;small=sum=dif=total=0;last='a';cin>>s;for(i=0;i<strlen(s);i++){ if(s[i]>='a' && s[i]<='z') { flag=0; small++; sum+=(int)s[i]; if(s[i]>last) last=s[i]; for(j=0;j<i;j++) if(s[i]==s[j]) { flag=1; break; } if(flag==0) dif++;
}total+=fun(s[i]);}
cout<<small<<endl;cout<<sum<<endl;cout<<(int)last<<endl;cout<<dif<<endl;cout<<total<<endl;return 0;}......
C++吧第四界编程大赛.(参考算法)(2005-12-09 10:46:00)
摘要:#include <iostream.h>#include <string.h>int main(){ int a[20][26],b[26]; char s[100]; int i,j; int max=0; char ch; for(i=0;i<20;i++) for(j=0;j<26;j++) a[i][j]=0; for(i=0;i<26;i++) b[i]=0; cin>>s; for(i=0;i<strlen(s);i++) b[s[i]-'a']++; for(i=0;i<26;i++) for(j=19;j>=b[i];j--) a[j][i]=1; for(i=0;i<26;i++) if(b[i]>max) max=b[i]; for(i=max-1;i>=0;i--) { for(j=0;j<26;j++) { if(a[i][j]==1) cout<<" "; else cout<<"@ "; } cout<<endl; } for(i=0;i<26;i++) { ch='a'+i; cout<<ch<<" "; } cout<<endl; return 0;}......
C++吧第四界编程大赛.(题目)(2005-12-08 13:19:00)
摘要:统计字母个数: 程序输入一个字符串(长度不超过100),全是小写字母. 统计小写字母出现的次数,并用要求的图表示出来. 测试数据: Input: sadjhasdhqwpopeepomcxnnbladkjkfjasjas Output: @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j k l m n o p&......
C++吧第三界编程大赛.(其它算法)(2005-12-08 12:47:00)
摘要:Soningwl :
#include<iostream.h> int main() { cout<<"请输入序列长度(<=10000)与约数(<=5000)。\n"; int n,m,counter=0; cin>>n>>m; int a[10000]; cout<<"请输入"<<n<<"个数:"; for(int i=0;i<n;i++)cin>>a[i]; for(int j=0;j<n;j++){ int sum=0; for(int k=j;k<n;k++){ sum+=a[k]; if(sum%m==0)counter++; } } cout<<counter<<"\n"; return 0; }
nowUbeing :
帅哥们,我就是那个Jokemon,为成为世界第一游戏设计者而努力!我学C++不到3月,类看了还不到2周,但我也想试试!希望高手点评点评!谢! #include <iostream> using namespace std; #include <cstdio0> typedef class theFirstGameDesigneriintheworlld //没见过这长的名吧 {int limit,a[10000],num; public:theFirstGameDesigneriintheworlld()//构造函数 {cout<<"请输入数列长度:"<<endl; cin>>limit; cout<<"请输入数列内容:"<<endl; for(int i=0;i<limit;i++) cin>>a[i]; cout<<"请输入您要测试的数:"<<endl; &nb......
C++吧第三界编程大赛.(参考算法)(2005-12-08 12:43:00)
摘要:#include <iostream.h>int main(){ int n,m; int a[10000],b[5000]; int i,j; int sum; cin>>n>>m; sum=0; for(i=0;i<m;i++) b[i]=0; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n;i++) { sum+=a[i]; sum=sum%m; b[sum]++; } sum=0; for(i=0;i<m;i++) sum=sum+(b[i]-1)*b[i]/2; sum+=b[0]; cout<<sum<<endl;}......
C++吧第三界编程大赛.(题目)(2005-12-08 12:42:00)
摘要:Partial Sums 给一个数列a1, a2, ..., an,Partial Sums被定义为: ai+ ai+1 +...... + aj 我们要算一个给定的数列里有几个Partial Sums能整除于m. 输入数据格式为: n m a1 a2 a3.... an Input: 5 4 1 2 3 4 5 6 7 9 8 7 6 5 4 Output: 2 3 解释:第一组数 4%4=0 (3+4+5)%4=0 所以输出2 第2组数 7%7=0 (8+7+6)%7=0 (9+8+7+6+5)%7= 所以输出3. 注意: n,m可能很大(n <= 10000,m <= 5000) 编程语言C/C++ http://post.baidu.com/f?kz=69170324......
