1、编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓  的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
#include <iostream>
using namespace std;
int main( )
{
    int n,i,g,s,b;
    cin>>n;
    for(i=100;i<=n;i++)
    {
        g=i%10;
        s=i/10%10;
        b=i/100;
        if(g*g*g+s*s*s+b*b*b==i)
            cout<<i<<" ";
    }
    return 0;
}
2、编写程序,从n个整数中到最小的数并输出。输入分2行:第一行为n的值,第二行为n个整数。
#include <iostream>
using namespace std;
int main( )
{
    int x,n,min,i;
    cin>>n;
    cin>>x;
    min=x;
    for(i=2;i<=n;i++)
    {
        cin>>x;
        if(x<min)
            min=x;
    }
    cout<<min;
    return 0;
}
3、编写程序出一个正整数n的各位数字中最大的数字,n由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    int n,max,t;
    cin>>n;
    max=0;
    while(n>0)
    {
        t=n%10;
        if(t>max)
            max=t;
        n/=10;
    }
    cout<<max;
    return 0;
}
4、有一分数序列,计算该序列的前n项和,n由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    int i,n,p,q,temp;
    float s=0;
    cin>>n;
    p=2;
    q=1;
    for(i=1;i<=n;i++)
    {
        s+=1.0*p/q;
        temp=p+q;
        q=p;
        p=temp;
    }
    cout<<s;
    return 0;
}
5、编写程序求 a + aa + aaa + aaaa +…+ aaa…a(n个a)之和,其中a和n由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    int s,i,n,a,t;
    cin>>a>>n;
    t=0;
    s=0;
    for(i=1;i<=n;i++)
    {
        t=t*10+a;
        s+=t;
    }
    cout<<s;
    return 0;
}
6、已知,计算S的值,直到某一项的绝对值小于e为止(小于e的这项不累加),e由键盘输入。namespace是干嘛的
#include <iostream>
using namespace std;
int main( )
{
    int n,f;
    double s,t,e;
    cin>>e;
    s=0;
    n=1;
    f=1;
    t=1.0/n;
    while(t>=e)
    {
        s+=f*t;
        f=-f;
        n+=4;
        t=1.0/n;
    }
    cout<<s;
    return 0;
}
7、输入一行字符,以字符0作为结束标志,输出这行字符对应的ASCII码值之和。
#include <iostream>
using namespace std;
int main( )
{
    char a;
    int s=0;
    cin>>a;
    while(a!='0')
    {
        s+=a;
        cin>>a;
    }
    cout<<s;
    return 0;
}
8、已知,计算该序列的前N项和SN,直到SN 大于q为止,q由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    double s,n,q;
    cin>>q;
    s=0;
    n=1;
    while(s<=q)
    {
        s+=(n+1)/n;
        n++;
    }
    cout<<s;
    return 0;
}
9、一个百万富翁碰到一个陌生人,陌生人他谈了一个换钱的计划.该计划如下:我每天给你10万,而你第一天给我一块钱,第二天我仍给你十万,你给我二块钱,第三天我仍给你十万,你给我四块钱......你每天给我的钱是前一天的两倍,直到满n(0<=n<=30)天.百万富翁非常高兴,欣然接受了这个契约.请编写一个程序,计算这n天中,陌生人给了富翁多少钱,富翁给了陌生人多少钱.
#include <iostream>
using namespace std;
int main( )
{
    int n,i,s,t;
    cin>>n;
    s=0;
    t=1;
    for(i=1;i<=n;i++)
    {
        s+=t;
        t=t*2;
    }
    cout<<n*100000<<endl;
    cout<<s<<endl;
    return 0;
}
10、求1~N的阶乘之和S,,N由键盘输入,注意:
#include <iostream>
using namespace std;
int main( )
{
    double s,t;
    int i,n;
    cin>>n;
    s=0;
    t=1;
    for(i=1;i<=n;i++)
    {
        t=t*i;
        s+=t;
    }
    cout<<s;
    return 0;
}
11、已知,输入正整数n和任意数x,计算S。
#include <iostream>
using namespace std;
int main( )
{
    double x,s,t;
    int i,n;
    cin>>n>>x;
    s=1;
    t=-1;
    for(i=1;i<=n;i++)
    {
        t=t*(-1)*x/i;
        s+=t;
    }
    cout<<s;
    return 0;
}
#include <iostream>
using namespace std;
int main( )
{
    double x,s,p,q;
    int i,n,f;
    cin>>n>>x;
    s=1;
    f=-1;
    p=1;
    q=1;
    for(i=1;i<=n;i++)
    {
        f=-f;
        p=p*x;
        q=q*i;
        s+=f*p/q;
    }
    cout<<s;
    return 0;
}
12、输入两个正整数a和b,求出其最大公约数和最小公倍数并输出。
#include <iostream>
using namespace std;
int main( )
{
    int a,b,gy,gb;
    cin>>a>>b;
    gy=a;
    while(a%gy!=0||b%gy!=0)
        gy--;
    gb=a;
    while(gb%a!=0||gb%b!=0)
        gb++;
    cout<<gy<<" "<<gb;
    return 0;
}
#include <iostream>
using namespace std;
int main( )
{
    int a,b,gy,gb,i;
    cin>>a>>b;
    for(i=1;i<=a;i++)
        if(a%i==0&&b%i==0)
            gy=i;
    for(i=a*b;i>=a;i--)
        if(i%a==0&&i%b==0)
            gb=i;
    cout<<gy<<" "<<gb;
    return 0;
}
#include <iostream>
using namespace std;
int main( )
{
    int a,b,r,ji;
    cin>>a>>b;
    ji=a*b;
    r=a%b;
    while(r!=0)
    {
        a=b;
        b=r;
        r=a%b;
    }
    cout<<b<<" "<<ji/b;
    return 0;
}
13、编写程序求m到n之间(包括m和n,m<=n)素数的个数及其平均值,如果没有素数则输出no,m和n由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    int m,n,i,j,gs,count=0;
    double s=0;
    cin>>m>>n;
    for(i=m;i<=n;i++)
    {
        gs=0;
        for(j=1;j<=i;j++)
            if(i%j==0)
                gs++;
        if(gs==2)
        {
            count++;
            s+=i;
        }
    }
    if(count==0)
        cout<<"no";
    else
    {
        s/=count;
        cout<<count<<" "<<s;
    }
    return 0;
}
14、一个数恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,并且6=1+2+3,因此6是“完数”。编写程序出小于给定数n的所有“完数”,n由键盘输入。
#include <iostream>
using namespace std;
int main( )
{
    int n,i,j,s;
    cin>>n;
    for(i=1;i<n;i++)
    {
        s=0;
        for(j=1;j<i;j++)
            if(i%j==0)
                s+=j;
        if(s==i)
            cout<<i<<" ";
    }
    return 0;
}
15、已知,其中分母为n以内(包括n)的素数,由键盘输入n值,计算S的值。
#include <iostream>
using namespace std;
int main( )
{
    int i,j,n,count=0;
    float s=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        count=0;
        for(j=1;j<=i;j++)
            if(i%j==0)
                count++;
        if(count==2)
            s+=1.0/i;
    }
    cout<<s<<endl;
    return 0;
}
16、一个正整数,如果它能被7整除,或者它的某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n的与7无关的正整数的平方和。
#include <iostream>
using namespace std;
int main( )
{
    int n,i,t,s=0,flag;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        if(i%7!=0)
        {
            t=i;
            flag=0;
            while(t>0)
            {
                if(t%10==7)
                    flag=1;
                t/=10;
            }
            if(flag==0)
                s+=i*i;
        }
    }
    cout<<s;
    return 0;
}
17、一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。例如正整数145,1!+4!+5!等于145,因此145就是一个阶乘和数。输入一个正整数,计算它的各位数字的阶乘之和,并判断它是否是一个阶乘和数。注意:输入的正整数,以及组成它的各位数字的阶乘之和都不会超过int类型的表示范围,并且输入的正整数的最高位不为0。
#include <iostream>
using namespace std;
int main( )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。