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小时内删除。
发表评论