while强化训练(有题有答案)

#include<iostream>
#include<cstdio>
using namespace std;
所有题用while循环完成 
1.问题描述 要求输入一个任意整数n,输出1到n中所有能被3整除的数字,
  若一个都没有则输出0
  样例输入:10
  样例输出:3 6 9
  
  样例输入:2
  样例输出:0
  
2.问题描述 要求输入一个任意整数n,输出 1到n之间所有能被5整除的数字的和
  样例输入:10
  样例输出:15
  样例输入:4
  样例输出:0

3.问题描述:等比数列:已知等比数列是从第二项开始,每一项与它的前一项的比值等于
            同一个常数的一种数列,例如2 4 8 。
            要求输入等比数列的前面2项,求前n项和
            1.求公倍数=第二项/第一项    求第三项=第二项*公倍数 
            第四项=第三项*公倍数   求的是和 = 第一项+第二项+...+第n项 
    样例输入:2 4 10
    样例输出:2046 
             

int main(){

    1.问题描述 要求输入一个任意整数n,输出1到n中所有能被3整除的数字,
      若一个都没有则输出0
      样例输入:10
      样例输出:3 6 9
      
      样例输入:2
      样例输出:0
    int n,s=0;//s变量用于统计符合条件的数字的个数 
    cin>>n; 
    int i=1; //表达式1 
    while(i<=n){ //表达式2 
        if(i%3==0){ //循环要干的事情 
            cout<<i<<" ";
            s++;//个数+1 
        }
        i++; //表达式3 
    } 
    if(s==0){
        cout<<0;
    } 
    

    2.问题描述 要求输入一个任意整数n,输出 1到n之间所有能被5整除的数字的和
      样例输入:10
      样例输出:15
      样例输入:4
      样例输出:0
    int n,s=0;//s表示和 
    cin>>n;
    int i=1;
    while(i<=n){
        if(i%5==0){
            s+=i;
        } 
        i++;
    } 
    cout<<s;
    
    3.问题描述:等比数列:已知等比数列是从第二项开始,每一项与它的前一项的比值等于
            同一个常数的一种数列,例如2 4 8 。
            要求输入等比数列的前面2项,求前n项和
            1.求公倍数=第二项/第一项    求第三项=第二项*公倍数 
            第四项=第三项*公倍数   求的是和 = 第一项+第二项+...+第n项 
    样例输入:2 4 10
    样例输出:2046 
    int a1,a2,a3,n,s=0;//a1第一项  a2第二项  a3第三项  n项数  s求和 
    cin>>a1>>a2>>n;//输入项数
    if(n==1){ //只有一项 
        s+=a1;//加上第一项 
    }else if(n==2){//只有两项 
        s=a1+a2; 
    }else{//有3项以上 
        s=a1+a2; //前面两项  2 4 
        int bs=a2/a1;// 倍数 比值   倍数=第二项/第一项 
        while(n>=3){ //n==3   
            //求第3项
            a3=a2*bs; // 8
            //第三项加起来
            s+=a3;
            //更新下一次的a2 为上一次的a3 
            a2=a3; 
            n--;
        } 
    } 
    cout<<s;     
    return 0;
}

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值