C++编程题
1、求Sn=a+aa+aaa+aaaa+…+aa…a(n个a)之值,其中a是一个数字,n表示a的位数。
程序如下:
例如:2+22+222+2222 (此时a=2,n=4)
#include <iostream>
using namespace std; 字符串函数编程题
int main()
{
int a,n,b=0,s=0;
cin>>a>>n;
for(int i=1;i<=n;i++)
{
b=b*10+a;
s+=b;
}
cout<<s<<endl;
return 0;
}
2、从键盘上输入一个正整数,判别它是否为一回文数。如:123321
程序如下:
#include <iostream>
using namespace std;
int main()
{
long i,n,m;
cout<<"请输入一个整数"<<endl;
cin>>m;
cout<<m<<" ";
i=m;n=m;m=0;
while(i)
{ m=m*10+i%10;
i=i/10 ; }
if(m==n)cout<<"是回文数";
else cout<<"不是回文数";
cout<<endl;
return 0;
}
3、n为一个整数(小于10万),它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
unsigned long int i,x,y,z;
for (i=1; i<1000000; i++)
{
x = (sqrt(i+100));
y = (sqrt(i+268));
if (x*x == i+100 && y*y == i+268)
{
cout<<i<<endl; }
}
return 0;
}
4、求1000之内的完全数。
说明:完全数就是:除了它本身以外所有因子之和等于其本身,例如:6=1+2+3。
程序如下:
#include <iostream>
using namespace std;
int main()
{
int i, j, t;
cout<<"1000以内的完全数为"<<endl;
for ( i = 1; i <= 1000; i++ )
{
t = 0;
for ( j = 1; j < i;j++ )
if ( i% j == 0 ) t += j;
if ( t == i )
cout<<i<<endl;
}
return 0;
}
5、求出 [900, 1000]间有偶数个因子(这里因子不含1和自身)的数有多少个,其中最小的一个?
程序如下:
#include <iostream>
#include <cmath>
using namespace std;
void main()
{
int i,w=0,j=0;
float a;
for(i=900;i<=1000;i++)
{
a = sqrt(i);
if(a * a == i)
j++;
else
w++;
if(w==1)
cout<<"[900, 1000]间有偶数个因子的数的个数为"<<i<<endl;
}
cout<<"[900,1000]中最小的有偶数因子的数是 ";
cout<<w<<endl;
}
6、编写一个自定义函数:int f( int M, int N) ,f( )的功能是:对给定的正整数M和N,出满足方程“7x+4y=M”的正整数解中x是偶数且y是奇数的解,其中:x,y属于[1,N]的范围。
要求:若M和N不都是正整数,则结束函数并返回-1;只有M和N都是正整数时,才继续求解操作,用二重循环进行求解:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论