8152题:
已知A<B, A和B均为正整数,且A*B=2698,求A+B的最小值。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
inta,b;
for(b=1;b<=2698;b++)
{
for(a=0;a<=b;a++)
{
if(a*b==2698)
{
cout<<a+b<<endl;cout<<b<<endl;
return 0;
}
}
}
}
答案:109
8153题:
已知A,B为正整数, A<B, A*B=2698,且要求A+B取最小值,求满足上述条件的B值。
原程序:
答案:71
8154题:
某一正整数,进行递减,每次将该数减半后再减一,当对该数进行第10次减半时发现该数只剩下1不能再减了,求该数。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
inti,a=1;
for(i=1;i<=9;i++)
{
a=(a+1)*2;
}
cout<<a<<endl;
return 0;
}
答案:1534
8155题:
把一张一元钞票,换成一分、二分和五分硬币,每种至少5枚,问有多少种方案?
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
inti = 0,a,b,c;
for(a=0;a<=60;a++)
{
for(b=0;b<=30;b++)
{
for(c=0;c<=12;c++)
{
if(a+2*b+5*c==60)
i++;
}
}
}
cout<<i<<endl;
return 0;
答案:
205
8156题:
已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:
F(1)=1 if n=1
F(2)=1 if n=2
F(n)=F(n-1)+F(n-2) if n>2
试求F(50)值。
提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
floati,a=1,b=1,c;
for(i=3;i<=50;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<endl;
return 0;
}
答案:12586269025
8157题:
已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:
F(1)=1 if n=1
F(2)=1 if n=2
F(n)=F(n-1)+F(n-2) if n>2
试求F(2)+F(4)+F(6)+……+F(50)值。
提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
floata=1,b=1,c,z=1;
inti;
for(i=3;i<=50;i++)
{
c=a+b;
a=b;
b=c;
if(i%2==0)
{
z+=c;
}
}
cout<<""<<z<<endl;
return 0;
}
答案:
20365011073
8158题:
已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:
F(1)=1 if n=1
F(2)=1 if n=2
F(n)=F(n-1)+F(n-2) if n>2
试求F(45)值。
提示:最好使用递推法求解,因为使用递归调用很可能超出
某些语言的递归深度。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
floata=1,b=1,c;
inti;
for(i=3;i<=45;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<""<<c<<endl;
return 0;
用数组做。。。
#include<iostream>
using namespace std;
#include<stdio.h>
#define N 46
int main()
{
inti,a[N];
a[1]=1;a[2]=1;
for(i=3;i<=N;i++)
{
a[i]=a[i-1]+a[i-2];
}
cout<<a[45]<<endl;
return 0;
}答案:1134903170
8159题:
已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:
F(1)=1 if n=1
F(2)=1 if n=2
F(n)=F(n-1)+F(n-2) if n>2
试求F(1)+F(3)+F(5)+……+F(49)值。
提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
floata=1,b=1,c,z=1;
inti;
for(i=3;i<=49;i++)
{
c=a+b;
a=b;
b=c;
if(i%2==1)
{
z+=c;
}
}
cout<<""<<z<<endl;
return 0;
}
答案:12586269025
8160题:
设有6个十进制数字a,b,c,d, e,f ,
求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,f≠0,e≠0,e≠1)的个数。
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
inta,b,c,d,e,f,i=0;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
for(d=0;d<=9;d++)
{
for(e=2;e<=9;e++)
{
for(f=1;f<=9;f++)
{
if((a*10000+b*1000+c*100+d*10+f)*e ==(f*10000+d*1000+c*100+b*10+a))
{
i++;
}
}
}
}
}
}
}
cout<<""<<i<<endl;
return 0;
}
答案:
2
8161题:
设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?
原程序:#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
inta,b,c,d,i,z=0;
for(i=1000;i<=9999;i++)
{
a=i/1000; b=(i/100)%10;
c=(i/10)%10; d=i%10;
if((a*a+b*b+c*c+d*d)== 100)
{
z++;
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
}
}
cout<<" "<<z<<endl;
return 0;
}
答案:
49
8162题:
除1和它本身外,
不能被其它整数整除的正整数称为素数
(注:1不是素数,2是素数)。
若两素数之差为2 ,则称两素数为双胞胎数,
问[31,601]之间有多少对双胞胎数。
原程序:#include<iostream>
using namespace std;
bool fun(int x) 此函数是把进入的x进行判断,是否为素数。。
{
inti;
for(i=2;i<x;i++)
{<