//有一对兔子,从出生后第三个月起每个月都生一对兔子,//小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数?//解题思路:斐波那契数列//相当于前两个月的兔子数量为1,//第三个月兔子数量=第一个月兔子生下的兔子【即第一个(相对于此时的第三个月来说)月兔子的数量】+第二个月兔子的数量#include<iostream>usingnamespace std;intmain(){int f1 =1, f2 =1;int f3;
cout << f1 <<" "<< f2 <<" ";for(int i =3; i <=12; i++){
f3 = f1 + f2;
cout << f3 <<" ";
f1 = f2;
f2 = f3;}
cout << endl;return0;}
//将一个正整数分解质因数。例如:输入90,打印输出90=2*3*3*5.//解题思路:如果n>i,且n能被i整除,则打印出i的值,并用n/i的值作为新的正整数//如果这个质数恰好等于n,则说明分解质因数的过程已结束,打印出此时的n即可#include<iostream>usingnamespace std;intmain(){int n;
cin >> n;for(int i =2; i <= n; i++){while(n != i){if(n%i ==0){
cout << i <<"*";
n = n / i;}elsebreak;}}
cout << n << endl;return0;}
//输入两正数m和n,求其最大公约数和最小公倍数//解题思路:利用辗转相除法得到最大公约数,最小公倍数=m*n/最大公约数//辗转相除法:first(第一个数),second(第二个数),用second对first求余(%),//若不为0,则second赋值给first,余数(rem)赋值给second,直到余数(rem)为0,//这时second的值就是最大公约数#include<iostream>usingnamespace std;intGCD(int first,int second){int rem = first % second;while(rem !=0){
first = second;
second = rem;
rem = first % second;}return second;}intmain(){int m, n;
cin >> m >> n;int a;if(m > n)
a =GCD(m, n);else
a =GCD(n, m);int b = m * n / a;
cout <<"最大公约数为:"<< a << endl;
cout <<"最小公倍数为:"<< b << endl;return0;}
//求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。//例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制//关键是计算出每一项的值#include<iostream>usingnamespace std;intmain(){
cout <<"请输入a:"<< endl;int a;
cin >> a;
cout <<"请输入有几个数相加:"<<endl;int n;
cin >> n;int tn =0, sn =0;int count =1;while(count <= n){
tn = tn + a;
sn = sn + tn;
a = a *10;
count++;}
cout <<"a+aa+aaa+aaaa+aa...a="<< sn << endl;return0;}