重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#define num 6 /*定义最大数值*/
创新互联建站专注于企业成都营销网站建设、网站重做改版、双鸭山网站定制设计、自适应品牌网站建设、H5页面制作、商城建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为双鸭山等各大城市提供网站开发制作服务。
#includestdio.h
void main ()
{
for(int i=num;i1;i--)/*执行行的循环*/
{ for(int j=i;j=num;j++)/*执行行内数值输出的循环*/
printf("%d",j);/*输出*/
printf("\n");/*每行都换行*/
}
}
求sin的:参考下 #includestdio.h void main() { double x,a,b,sum=0; printf("请输入x的弧度值:\n"); scanf("%lf",x); int i,j,count=0; for(i=1;;i+=2) { count++; a=b=1; for(j=1;j=i;j++) { a*=x; b*=(double)j; } if(a/b0.0000001) break; else { if(count%2==0) sum-=a/b; else sum+=a/b; } } printf("%lf\n",sum); }
对于这一问题,很容易想到用枚举的方法(深度搜索法)去解决,即列举出所有路径并记录每一条路径所经过的数字总和。然后寻找最大的数字总和,这一想法很直观,很容易编程实现其程序如下:
program
sjx;
const
maxn=10;
var
a:array[1..maxn,1..maxn]
of
integer;
max:longint;
n,i,j:integer;
fname:string;
inputf:text;
procedure
try(x,y,dep:integer;sum:longint);
begin
if
(dep=n)
then
begin
if
summax
then
max:=sum;
exit
end;
try(x+1,y,dep+1,sum+a[x+1,y]);
try(x+1,y+1,dep+1,sum+a[x+1,y+1]);
end;
begin
readln(fname);
assign(inputf,fname);
reset(inputf);
readln(inputf,n);
for
i:=1
to
n
do
for
j:=
1
to
i
do
read(inputf,a[i,j]);
max:=0;
try(1,1,1,a[1,1]);
writeln(max);
end.
但是当行数很大时,当三角形的行数等于100时,其枚举量之大是可想而知的,用枚举法肯定超时,甚至根本不能得到计算结果,必须用动态规划法来解。