求帮用Visual C++6.0编写两个程序,顺便附带上运行结果,谢谢
1.求1!+2!+…+100!2.设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。...
1. 求1!+2!+…+100!
2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。 展开
2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。 展开
2012-05-03 · 知道合伙人软件行家
关注
展开全部
#include <stdio.h>
#include <math.h>
void sum_n(int n) //计算1+2+3+....+n的和
{
int x=1,
int sum=0;
while(x<=n)
{
sum+= x;
x++;
}
printf("%d\n",sum);
}
void sushu() //素数
{
int x=5;
int num[100];
int y,i=0;
while(x<=100)
{
y= sqrt(x);
loop:
if(x%y==0)
{
if(y==1)
{
printf("%d",x);
i++;
if(i<5)
printf("\t");
else
{
printf("\n");
i=0;
}
}
x++;
}
else
{
if(y>1)
{
y--;
goto loop;
}
}
}
printf("\n");
}
void main()
{
sum_n(100);
sushu();
}
展开全部
第一题
#include<math.h>
#include<string.h>
#include<stdio.h>
typedef __int64 lld;
const lld UP=100000000;
const lld MAX=4500;
lld ret[MAX],len;
lld sum[MAX]={0};
void multi(lld ret[],lld n)
{
lld i;
for(i=0;i<=len;i++)
ret[i]*=n;
for(i=0;i<=len;i++)
{
ret[i+1]+=ret[i]/UP;
ret[i]%=UP;
}
if(ret[len+1])
{
while(ret[len+1])
{
len++;
ret[len+1]+=ret[len]/UP;
ret[len]%=UP;
}
}
}
void add(lld a[],lld b[])
{
lld i;
for(i=0;i<MAX;i++)
{
a[i]+=b[i];
if(a[i]>=UP)
{
a[i+1]++;
a[i]-=UP;
}
}
}
int main()
{
lld i,n,t,f,x,o;
n=100;
{
memset(ret,0,sizeof(ret));
ret[0]=1;
len=0;
f=t=0;
for(i=1;i<=n;i++)
{
multi(ret,i);
add(sum,ret);
}
for(i=MAX-1;i>=0&&sum[i]==0;i--);
printf("%I64d",sum[i]);
for(;i>=0;i--)
printf("%08I64d",ret[i]);
puts("");
}
return 0;
}
第二题
#include<math.h>
#include<string.h>
#include<stdio.h>
typedef __int64 lld;
const lld UP=100000000;
const lld MAX=4500;
lld ret[MAX],len;
lld sum[MAX]={0};
void multi(lld ret[],lld n)
{
lld i;
for(i=0;i<=len;i++)
ret[i]*=n;
for(i=0;i<=len;i++)
{
ret[i+1]+=ret[i]/UP;
ret[i]%=UP;
}
if(ret[len+1])
{
while(ret[len+1])
{
len++;
ret[len+1]+=ret[len]/UP;
ret[len]%=UP;
}
}
}
void add(lld a[],lld b[])
{
lld i;
for(i=0;i<MAX;i++)
{
a[i]+=b[i];
if(a[i]>=UP)
{
a[i+1]++;
a[i]-=UP;
}
}
}
bool prime(int n)
{
int i;
for(i=2;i<n;i++)if(n%i==0)return false;
return true;
}
int main()
{
int i,n,t,f,x,o;
n=100;
{
int cnt=0;
for(i=5;i<=n;i++)
{
if(prime(i))
{
printf("%d ",i);
cnt++;
if(cnt%5==0)puts("");
}
}
}
return 0;
}
#include<math.h>
#include<string.h>
#include<stdio.h>
typedef __int64 lld;
const lld UP=100000000;
const lld MAX=4500;
lld ret[MAX],len;
lld sum[MAX]={0};
void multi(lld ret[],lld n)
{
lld i;
for(i=0;i<=len;i++)
ret[i]*=n;
for(i=0;i<=len;i++)
{
ret[i+1]+=ret[i]/UP;
ret[i]%=UP;
}
if(ret[len+1])
{
while(ret[len+1])
{
len++;
ret[len+1]+=ret[len]/UP;
ret[len]%=UP;
}
}
}
void add(lld a[],lld b[])
{
lld i;
for(i=0;i<MAX;i++)
{
a[i]+=b[i];
if(a[i]>=UP)
{
a[i+1]++;
a[i]-=UP;
}
}
}
int main()
{
lld i,n,t,f,x,o;
n=100;
{
memset(ret,0,sizeof(ret));
ret[0]=1;
len=0;
f=t=0;
for(i=1;i<=n;i++)
{
multi(ret,i);
add(sum,ret);
}
for(i=MAX-1;i>=0&&sum[i]==0;i--);
printf("%I64d",sum[i]);
for(;i>=0;i--)
printf("%08I64d",ret[i]);
puts("");
}
return 0;
}
第二题
#include<math.h>
#include<string.h>
#include<stdio.h>
typedef __int64 lld;
const lld UP=100000000;
const lld MAX=4500;
lld ret[MAX],len;
lld sum[MAX]={0};
void multi(lld ret[],lld n)
{
lld i;
for(i=0;i<=len;i++)
ret[i]*=n;
for(i=0;i<=len;i++)
{
ret[i+1]+=ret[i]/UP;
ret[i]%=UP;
}
if(ret[len+1])
{
while(ret[len+1])
{
len++;
ret[len+1]+=ret[len]/UP;
ret[len]%=UP;
}
}
}
void add(lld a[],lld b[])
{
lld i;
for(i=0;i<MAX;i++)
{
a[i]+=b[i];
if(a[i]>=UP)
{
a[i+1]++;
a[i]-=UP;
}
}
}
bool prime(int n)
{
int i;
for(i=2;i<n;i++)if(n%i==0)return false;
return true;
}
int main()
{
int i,n,t,f,x,o;
n=100;
{
int cnt=0;
for(i=5;i<=n;i++)
{
if(prime(i))
{
printf("%d ",i);
cnt++;
if(cnt%5==0)puts("");
}
}
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 求1!+2!+…+100!
#include <stdio.h>
int jiechen(int x)
{
int i;
int a;
for(i=1,a=1;i<=x;i++)
{
a=a*i;
}
return a;
}
void main()
{
int j,m,n;
int sum;
printf("请输入阶乘的上限:");
scanf("%d",&m);
for(j=1,sum=0;j<=m;j++)
{ n=jiechen(j);
sum=sum+n;
}
printf("\n结果为:%d\n",sum);
scanf("%d",&m);
}
2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。
//2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。
#include <stdio.h>
void main()
{
int i,j,m;
int a[100];
for(i=5,m=0;i<=100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)break;
}
if(j==i)a[m++]=i;
};
printf("素数:\n");
for(i=0;i<m;i++)
{
printf("%d ",a[i]);
if((i+1)%5==0)printf("\n");
}
}
#include <stdio.h>
int jiechen(int x)
{
int i;
int a;
for(i=1,a=1;i<=x;i++)
{
a=a*i;
}
return a;
}
void main()
{
int j,m,n;
int sum;
printf("请输入阶乘的上限:");
scanf("%d",&m);
for(j=1,sum=0;j<=m;j++)
{ n=jiechen(j);
sum=sum+n;
}
printf("\n结果为:%d\n",sum);
scanf("%d",&m);
}
2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。
//2. 设计一个程序,求出5-100之间的所有素数,要求每行输出5个素数。
#include <stdio.h>
void main()
{
int i,j,m;
int a[100];
for(i=5,m=0;i<=100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)break;
}
if(j==i)a[m++]=i;
};
printf("素数:\n");
for(i=0;i<m;i++)
{
printf("%d ",a[i]);
if((i+1)%5==0)printf("\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、
#include"stdio.h"
double f(int n)
{
double y=1;
int i;
for(i=1;i<=n;i++)
{
y=y*i;
}
return y;
}
main()
{
double y=0;
int i;
for(i=1;i<=100;i++)
{
y=y+f(i);
}
printf("1!+2!+....+100!=%.0lf",y);
}
结果很大,就自己去运行了。
2、
#include"stdio.h"
main()
{
int i,n,k=1;
for(i=5;i<=100;i++)
{
for(n=2;n<=i;n++)
{
if(i%n==0)break;
}
if(i==n){printf("%d ",i);k++;}
if(k>5){k=1;printf("\n");}
}
}
结果是正确的,自己去运行吧!
#include"stdio.h"
double f(int n)
{
double y=1;
int i;
for(i=1;i<=n;i++)
{
y=y*i;
}
return y;
}
main()
{
double y=0;
int i;
for(i=1;i<=100;i++)
{
y=y+f(i);
}
printf("1!+2!+....+100!=%.0lf",y);
}
结果很大,就自己去运行了。
2、
#include"stdio.h"
main()
{
int i,n,k=1;
for(i=5;i<=100;i++)
{
for(n=2;n<=i;n++)
{
if(i%n==0)break;
}
if(i==n){printf("%d ",i);k++;}
if(k>5){k=1;printf("\n");}
}
}
结果是正确的,自己去运行吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询