#1、7-16<求符合给定条件的整数集>
#include<iostream>
using namespace std;
int main()
{
int n, ret = 0;//ret表示输出了多少个数
cin >> n;
for (int i = n; i <= n + 3; i++)
for (int j = n; j <= n + 3; j++)
for (int k = n; k <= n + 3; k++)
{
if(i!=j&&i!=k&&j!=k)//三个数不相等
{
printf("%d%d%d",i,j,k);
ret++;
if(ret%6==0)
printf("\n");
else
printf(" ");
}
}
return 0;
}
2、7-17<爬动的蠕虫>
#include<iostream>
using namespace std;
int main ()
{
int N,U,D,t=0,h=0;//t代表时间,h代表当前爬的高度
cin>>N>>U>>D;
while(1)
{
h=h+U;//先爬U
t++;//时间+1
if(h>=N-1)//如果爬出则退出循环
break;
else//如果没有爬出则减去D,时间+1
{
h=h-D;
t++;
}
}
printf("%d",t);
return 0;
}
7-18<二分法求多项式单根>
#include<iostream>
#include<cmath>
using namespace std;
float func(float x);
float a0,a1,a2,a3;
int main ()
{
int flag=1;
float a,b;
cin>>a3>>a2>>a1>>a0;
cin>>a>>b;
while((b-a)>0.001)
{
if(func((a+b)/2)==0)
{
printf("%.2f\n",(a+b)/2);
flag=0;
break;
}
else if(func((a+b)/2)*func(a)>0)
a=(a+b)/2;
else if(func((a+b)/2)*func(b)>0)
b=(a+b)/2;
}
if(flag)
printf("%.2f\n",(a+b)/2);
return 0;
}
float func(float x)
{
return a3*pow(x,3)+a2*pow(x,2)+a1*x+a0;
}
7-19<支票面额>
参考博客: https://blog.csdn.net/UNuomo/article/details/97505477
#include<iostream>
using namespace std;
int main ()
{
int y,f,n;
cin>>n;
y=(98-n)/3;
f=2*y+1;
if((98-n)%3==0)
printf("%d.%d\n",y,f);
else{
for(int i=0;i<100;i++){
for(int j=0;j<100;j++){
if((2*i*100+2*j)==(j*100+i-n)){
printf("%d.%d\n",i,j);
return 0;
}
}
}
printf("No Solution\n");
}
return 0;
}
7-20<打印九九口诀表>
#include<iostream>
using namespace std;
int main ()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{ for(int j=1;j<=i;j++)
printf("%d*%d=%-4d",j,i,i*j);
printf("\n");
}
return 0;
}