编程,输入一个正整数n,再输入n个整数,请输出最小值。
8-4 若一个3位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。例如:153是水仙花数,因为153=13+53+33 求所有的水仙花数。
8-5求Sn=a+aa+aaa+……+aa…a之值,其a中代表1 到 9 中的一个数字。例如:a代表2 ,则求 2+22+222+2222+22222(此时n=5),a和n由键盘输入。
编程,输入一个正整数n,再输入n个整数,请输出最小值。
8-4 若一个3位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。例如:153是水仙花数,因为153=13+53+33 求所有的水仙花数。
8-5求Sn=a+aa+aaa+……+aa…a之值,其a中代表1 到 9 中的一个数字。例如:a代表2 ,则求 2+22+222+2222+22222(此时n=5),a和n由键盘输入。
第一个:#include<iostream>
using namespace std;
int main()
{
int n;
int a[100],min;
cout<<"请输入那个整数:";
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
min=a[0];
for(i=0;i<n;i++)
if(min>a[i])
min=a[i];
cout<<min;
return 0;
}
第二个:#include<iostream>
using namespace std;
int main()
{
int m;
for(m=100;m<1000;m++)
{
int g=m%10;
int s=(m%100)/10;
int b=m/100;
if(m==g*g*g+s*s*s+b*b*b)
cout<<m<<" ";
}
return 0;
}
结果为153,370,371,407
第三个:
#include<iostream>
using namespace std;
int main()
{
int n,a,m[9],i;
long int Sn(0);
cout<<"请输入a值:";
cin>>a;
cout<<endl<<"请输入n值:";
cin>>n;
m[0]=a;
if(n<=5)
{
for(i=1;i<n;i++)
m[i]=m[i-1]*10+a;
}
if(n>5&&n<=9)
{
for(i=1;i<5;i++)
m[i]=m[i-1]*10+a;
for(i=5;i<n;i++)
m[i]=m[i-1]/10;
}
for(i=0;i<n;i++)
Sn+=m[i];
cout<<Sn;
return 0;
}
均已通过,但是代码比较繁琐,楼主可以优化