赞
踩
//有关输入输出算式
//咱就是说这个合集可以闲着没事敲一下代码来提高一下代码水平(纯初学者)
1./*编程读入整数n,计算n*n。
输入 每行输入一个整数n,输入-1表示输入结束
输出 针对每行输入的n,输出一行n*n的结果 */
- #include<iostream>
- using namespace std;
- int main(){
- int n;
- while(cin>>n){
- if(n!=-1){
- cout<<n*n<<endl;
- }
- else break;
- }
- return 0;
- }
2./* 输入一个整数n,计算 0*0+1*1+2*2+...+n*n的值并打印
输入 一个整数n
输出 一个整数表示计算结果 */
- #include<iostream>
- using namespace std;
- int main(){
- int n;
- int sum=0;
- cin>>n;
- for(int i=1;i<=n;i++){
- int num=i*i;
- sum+=num;
- }
- cout<<sum<<endl;
- return 0;
- }
3./* 输入整数a和n,计算a + a*a + a*a*a + ... + a*a*a*...*a的值,其中最后一项有n个a
输入 两个整数:a(1<=a<=9) n(1<=n<=6)
输出 一个整数,输出算式的值 */
- #include<iostream>
- using namespace std;
- int main(){
- int a,n;
- int num=1;
- int sum=0;
- cin>>a>>n;
- if((1<=a&&a<=9)&&(1<=n&&n<=6)){
- for(int i=0;i<n;i++){
- num*=a;
- sum+=num;
- }
- cout<<sum;
- }
- else return 0;
- return 0;
- }
4./* 输入整数a和n,计算a + aa + aaa + ... + aaa...a的值,其中最后一项有n位a
输入 两个整数:a(1<=a<=9) n(1<=n<=6)
输出 一个整数,输出算式的值 */
- /*
- #include<iostream>
- using namespace std;
- int main(){
- int a,n;
- cin>>a>>n;
- if((1<=a&&a<=9)&&(1<=n&&n<=6)){
- int num=a,sum=a;
- for(int i=1;i<n;i++){
- num=10*num+a;
- sum+=num;
- }
- cout<<sum<<endl;
- }
- return 0;
- } */
-
-
-
- /*
- #include<iostream>
- using namespace std;
- int main(){
- int sum=0;
- int a,n,A;
- cin>>a>>n;
- for(int i=0,A=a;i<n;i++){
- sum+=a;
- a=A+10*a;
- }
- cout<<sum<<endl;
- return 0;
- } */
-
-
-
-
- #include<iostream>
- using namespace std;
- int main(){
- int a,n;
- int sum=0;
- cin>>a>>n;
- for(int i=1;i<=n;i++){
- sum=10*sum+i;
- }
- sum*=a;
- cout<<sum;
- return 0;
- }
5.
- #include<iostream>
- #include<cstdio>
- #include<cmath>
- #include<bits/stdc++.h>
- using namespace std;
- int jc(int n);
- int main(){
- int m,n;
- double x;
- cin>>m;
- for(int i=0;i<m;i++){
- double num,sum=0;
- cin>>x>>n;
- for(int j=1;j<=n;j++){
- double X=pow(x,j);
- int jieceng=jc(j);
- if(j%2==0){
- num=(double)(X/jieceng);
- }
- if(j%2!=0){
- num=(double)((-1)*(X/jieceng));
- }
- sum+=num;
- }
- cout<<fixed<<setprecision(3)<<sum<<endl;
- }
- return 0;
- }
- int jc(int n){
- int jieceng=1;
- for(int i=1;i<=n;i++){
- jieceng*=i;
- }
- return jieceng;
- }
-
-
- /*
- #include<iostream>
- using namespace std;
- int main(){
- int m;
- cin>>m;
- for(int i=0;i<m;i++){
- int n;
- double x;
- double num=1.0,sum=0.0;
- cin>>x>>n;
- for(int j=1;j<=n;j++){
- num=num*x/j;
- if(j%2==0){
- sum+=num;
- }
- if(j%2!=0){
- sum-=num;
- }
- }
- printf("%.3f\n",sum);
- }
- return 0;
- } */
6.//请计算并输出当1+1/2+...+1/N > 10时N的值
- #include<iostream>
- using namespace std;
- int main(){
- double n=1; //这里不能定义成整型int,会导致计算结果还要转换从而增加运算时间(超时)
- for(double sum=0.0;sum<=10;n++){
- sum+=1/n;
- }
- cout<<n-1<<endl;
- return 0;
- }
7.
- /*
- #include<iostream>
- using namespace std;
- void pr(int n);
- int main(){
- pr(100);
- pr(1000);
- pr(10000);
- return 0;
- }
- void pr(int n){
- if(n==1) cout<<"0"<<endl;
- if(n==2) cout<<"1"<<endl;
- if(n==3) cout<<"2"<<endl; // S1=1 S2=2 S3=5
- if(n==4) cout<<"2"<<endl;
- if(n==5) cout<<"2"<<endl;
- int a1=1,a2=1,a3,sum=2;
- for(int i=3;sum<n;i++){
- a3=a1+a2*2;
- sum+=a3; //sum循环内第一次赋值为5,所以前面五种情况要单独列出来
- a1=a2; //记得千万不能漏掉这个,递归(迭代)
- a2=a3;
- if(sum<n&&sum+a1+a2*2>=n) cout<<i<<endl;
- }
- }
-
- */
-
-
-
-
- #include <stdio.h>
- int main(){
- int a1=1,a2=1,a3,sum=2,i=2;
- for(;sum<2;i++){
- a3=a1+a2*2;
- sum+=a3;
- a1=a2;
- a2=a3;
- if(sum<2&&sum+a1+a2*2>=2) printf("%d\n",i+1);
- }
- sum=2;a1=1;a2=1;i=2;
- for(;sum<1000;i++){
- a3=a1+a2*2;
- sum+=a3;
- a1=a2;
- a2=a3;
- if(sum<1000&&sum+a1+a2*2>=1000) printf("%d\n",i+1);
- }
- sum=2;a1=1;a2=1;i=2;
- for(;sum<10000;i++){
- a3=a1+a2*2;
- sum+=a3;
- a1=a2;
- a2=a3;
- if(sum<10000&&sum+a1+a2*2>=10000) printf("%d\n",i+1);
- }
-
- return 0;
- }
-
8./* 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有目击车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:四位的车号刚好是一个整数的平方。根据以上线索编程序求出车号。
输入 无
输出 输出所求的整数 */
- //法一 傻瓜法
- #include<iostream>
- using namespace std;
- int main(){
- int num,n;
- for(n=32;n<100;n++){ //32*32=1024 题干下最小的四位数,99*99题干下最大的四位数
- int a1,a2,a3,a4;
- num=n*n; //这样设置计算量比较小,将开方问题都转换为平方
- a4=num%10; //用这个方法可以求得个位上的数(要记)!!!
- a3=(num%100-a4)/10; //法二的计算方法改进很多 num%100只能求得十位加上个位的数
- a2=(num%1000-a3*10-a4)/100;
- a1=num/1000; //这样能直接求得最高位
- if((a1==a2)&&(a3==a4)){
- cout<<num<<endl;
- }
- }
- return 0;
- }
-
-
-
- //法二
- #include<iostream>
- using namespace std;
- int main(){
- int num,n;
- for(n=32;n<100;n++){
- int a1,a2,a3,a4;
- num=n*n;
- a1=num/1000; //C++中 num/1000 表示只留下千位及千位以前的数(并缩小)
- a2=(num/100)%10; /*妙啊,这样子可以只剩下百位和千位,
- 然后它们变成新数的十位和个位,
- 就可以直接求得最小的个位也就是原来的百位 */
- a3=(num/10)%10;
- a4=num%10;
- if((a1==a2)&&(a3==a4)){
- cout<<num<<endl;
- }
- }
- return 0;
- }
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。