1.循环输出1~100之间的每个数

【描述】
请循环输出1~100之间的每个整数,输出时每行输出1个数,比如,输出结果的前10个数是这样的:
1 2 3 4 5 6 7 8 9 10 …
【输入描述】无
【输出描述】按要求输出1~100之间的每个数。
【样例输入】无
【样例输出】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

#include<iostream>
using namespace std;
int main()
{
	int i;
	while(i<=100)
	{
		cout<<i<<" ";
		i++; 
	}
	cout<<endl; 
	return 0;
}

2.打印九九乘法表(只能用while循环)

【描述】
试编一个程序,输出九九乘法表。
【输入描述】无
【输出描述】输出一个九九乘法表
【样例输入】无
【样例输出】
11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

#include<iostream>
using namespace std;
int main()
{
	int i=1,j;
	while(i<=9)
	{
		j=1;
		while(j<=i)
		{
			cout<<j<<"*"<<i<<"="<<i*j<<"\t";
			j++;
		}
		cout<<endl;
		i++;
	}
	return 0;
}

3.能够整除几次2

【描述】
请问一个正整数n能够整除几次2?
比如:4可以整除2次2,100可以整除2次2,9可以整除0次2。
【输入描述】 从键盘读入一个正整数n
【输出描述】 出一个整数,代表n能够整除2的次数
【样例输入】 8
【样例输出】 3

#include<iostream>
using namespace std;
int main()
{
	int n,sum=0;
	cin>>n;
	while(n>0)
	{
		if(n%2==0)
			sum++;
		n=n/2;
	}
	cout<<sum;
	return 0;
}

4.求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值

【描述】
求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值。(2<=x<=10)
【输入描述】
输入只有一行,包括1个整数X。
【输出描述】
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
【样例输入】 2
【样例输出】 4

#include<iostream>
using namespace std;
int main()
{
	double x,n=0;
	float s=0;
	cin>>x;
	while(s<=x)
	{
		n++;
		s=s+1/n;
		
	}
	cout<<n;
	return 0;
}

5.角谷猜想

【描述】
日本一位中学生发现一个奇妙的定理,请角谷教授证明,而教授无能为力,于是产生了角谷猜想。猜想的内容:任给一个自然数,若为偶数则除以2,若为奇数则乘3加1,得到一个新的自然数后按上面的法则继续演算。若干次后得到的结果必为1。请编写代码验证该猜想:求经过多少次运算可得到自然数1。 如:输入22,
22/2=11
11*'3+1=34
34/2=17
17*'3+1=52
52/2=26
26/2=13
13*'3+1=40
40/2=20
20/2=10
10/2=5
5*'3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
经过15次运算得到自然数1。
【输入描述】 一行,一个正整数n。(1 <= n <= 20000 )
【输出描述】 一行,一个整数,表示得到1所用的运算次数。
【样例输入】 22
【样例输出】 15

#include<iostream>
using namespace std;
int main() 
{
    int n,sum=0;
    cin>>n;
    while(n!=1)
    { 
      if(n%2==0) 
      {
         n/=2;
      }else
      {
         n=n*3+1;
      }
         sum++;
    }
    cout<<sum<<endl;
    return 0;
}

6.小明学游泳

【描述】
小明开心的在游泳,可是他很快难过的发现,自己的力气不够,游泳好累哦。已知小明每换一次气能游2米,可是随着越来越累,力气越来越小,他接下来的每换一次气都只能游出上一步距离的98%。现在小明想知道,如果要游到距离x米的地方,他需要总共换多少次气呢。请你编程解决这个问题。
【输入描述】 输入一个数字(不一定是整数,小于100m),表示要游的目标距离。
【输出描述】 输出一个整数,表示小明一共需要换多少次气。
【样例输入】 4.3
【样例输出】 3

#include<iostream>
using namespace std;
int main()
{
	float x,i=2,sum=1;
	cin>>x;
	while(i<=x)
	{
		i=i+i*0.98;
		sum+=1;
	}
	cout<<sum;
	return 0;
}

7.斐波那契数列

【描述】
斐波那契数列是一个经典的数学序列,其定义和特性如下:斐波那契数列从第0项和第1项开始,后续每一项均为前两项之和,递推公式为:F(n)=F(n−1)+F(n−2)(n≥2)。初始条件通常为:
F(0)=0,F(1)=1,现在要求使用while循环打印该数列的前20项。
【输入描述】 无
【输出描述】 输出斐波那契数列前20项数字
【样例输入】 无
【样例输出】 斐波那契数列前20项: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

#include <iostream>
using namespace std;

int main() {
    int n = 20;
    long long a = 0, b = 1, next;
    
    cout << "斐波那契数列前"<< n << "项: ";
    
    int count = 0;
    while (count < n)
    {
        if (count <= 1)
            next = count;
        else 
        {
            next = a + b;
            a = b;
            b = next;
        }
        
        cout << next << " ";
        count++;
    }
    cout << endl;
    return 0;
}

8.求两个数的最大公约数(欧几里得算法,使用while循环)

【描述】
使用while循环设计一个程序,求输入的两个数的最大公约数
【输入描述】 输入两个整数
【输出描述】 输出两个数的最大公因数
【样例输入】 12 13
【样例输出】 最大公约数是: 1

#include <iostream>
using namespace std;

int gcd(int a, int b) 
{
    while (b != 0) 
    {
        int temp = b;
        b = a % b;
        a = temp;
    }
    return a;
}

int main() 
{
    int num1, num2;
    cin >> num1 >> num2;//请输入两个整数
    
    cout << "最大公约数是: " << gcd(num1, num2) << endl;
    return 0;
}
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐