C1
来源:互联网 发布:vm优化设置 编辑:程序博客网 时间:2024/04/28 12:20
一、
/*有一堆煤球,第一层1个,第二层3个第三层6个第四层10个若有100层请问一共有多少个煤球?思路:这是等差数列前n项和Sn=n*(n+1)/2第一层1个第二层1+2个第三层1+2+3个第n层为n*(n+1)/2个*/#include<iostream.h>void main(){ int i,n; int sum=0; cout<<"请输入层数n:"<<endl; cin>>n; for(i=1;i<=n;i++) { sum=sum+(i*(i+1))/2; } cout<<"煤球总数为"<<sum<<"个"<<endl;}
二。
/* 打鱼or晒网?中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日(将该日记为第1天)起开始“三天打鱼两天晒网”,问这个人在以后的某一天是“打鱼”还是“晒网”?并输出该日是从1990年1月1日起的第几天?样例输入:2015 1 5样例输出:他今天晒网*/#include<iostream.h>int main(){ int year,month,day; int y,m; int sum=0; cout<<"请输入年月日:"<<endl; cin>>year>>month>>day; if(year<2010||month<=0||month>12||day<=0||day>31)//判断日期 { cout<<"输入日期错误,请重新输入!"<<endl; } else { //计算从2010年1月1日到现在共经历了多少天 y=year-2010; m=month-1; while(y>0) { if((year%4==0&&year%100!=0)||(year%400==0)) { sum+=366; } else { sum+=365; } y--; } while(m>0) { switch(m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:sum+=31;break; case 4: case 6: case 9: case 11:sum+=30;break; case 2: { if((year%4==0&&year%100!=0)||(year%400==0)) { sum+=29;break; } else { sum+=28;break; } } } m--; } sum+=day; if(((year%4==0&&year%100!=0)||year%400==0)&&(month=2)&&(day>29||day<1)) { cout<<"日期输入错误,请从新输入!"<<endl; } //判断打鱼还是晒网 else if((sum%5==1)||(sum%5==2)||(sum%5==3)) { cout<<"他今天打渔"<<endl; } else { cout<<"他今天晒网"<<endl; } }}
三、
/* 一辗转相除法求最大公约数两个整数a和b;1、a%b2、若a%b==0,则b为两个数的最大公约数结束3、若a%b!=0,则a=b,b=c,再回去执行#include<iostream.h>void main(){ int a,b,c; cout<<"请输入两位整数"<<endl; cin>>a>>b; while(a%b!=0) { c=a%b; a=b; b=c; } cout<<"两个整数的最大公约数为"<<b<<endl;}*//*二相减法1、a>b,a=a-b;2、a<b,b=b-a;3、若a=b,则输出最大公约数#include<iostream.h>void main(){ int a,b; cout<<"请输入两个整数"<<endl; cin>>a>>b; while(a!=b) { if(a>b) a=a-b; else b=b-a; } cout<<"最大公约数为"<<a<<endl;}*//* 三穷举法1、i为两个数中最小的数2、若a和b可以同时被i整除则i为最大公约数*/#include<iostream.h>void main(){ int a,b,n,i; cout<<"请输入两个整数"<<endl; cin>>a>>b; if(a>b) { n=b; b=a; a=n; } for(i=a;i>=1;i--) { if(a%i==0&&b%i==0) break; } cout<<"最大公约数为"<<i<<endl;}
四、
/*某君过生日每次吹蜡烛与年龄相同数目的蜡烛,现在算起来一共吹灭了236根蜡烛,请问他什么时候开始过生日的?思路:等差数列前n项和问题n*(n+1);Sn=n*a1+n*(n+1)/2=(a1+an)*n/2;a岁开始过生日到b岁共吹灭了236根蜡烛,即(a+b)*(b-a+1)/2根*/#include<iostream.h>void main(){ int a,b; for(a=1;a<=100;a++) for(b=a;b<=100;b++) { if((a+b)*(b-a+1)/2==236) cout<<a<<" "<<b<<endl; }}
阅读全文
0 0
- C1
- C1
- c1
- c1
- c1
- C1
- c1
- c1
- c1
- c1
- C1
- C1 连续性
- C1-基础
- 说C1
- to_single_byte(c1)
- TO_MULTI_BYTE(c1)
- RAWTOHEX(c1)
- nls_charset_id(c1)
- FileUriExposedException的解决方法
- 深入理解Binder(二),Binder是什么?
- StringBuffer类和StringBuilder类的详解,两者区别与使用实例
- python基础学习-闭包
- 第三章 授权(三)授权流程
- C1
- 垃圾邮件分类器的原理(1)
- Android Monkey测试入门-7-Monkey其他事件
- 《Unity游戏开发实战》pdf
- open-falcon API 访问
- 关于数据库中字段空值的SQL排序的问题
- HTML 小结
- [位运算]HDU4810 Wall Painting
- JZOJ3427. 【NOIP2013模拟】归途与征程 (2017.8B组)