ACM 非常简单的
发布网友
发布时间:2022-04-23 03:50
我来回答
共5个回答
热心网友
时间:2023-10-19 03:35
C语言用
int n;
while( scanf("%d", &n) != EOF)
{
..
}
或者
while(scanf("%d", &n) != -1)
{
}
C++:
int n;
while( cin>>n )
{
}
这个不是求N!
是 (n*(n+1))/2
AC的程序
#include <iostream>
using namespace std;
int main()
{
long long n;
while( cin>>n )
{
cout<<( n*(n+1) ) / 2<<endl<<endl;
}
return 0;
}
热心网友
时间:2023-10-19 03:35
自己设置一个输入结束标志,例如输入 # 结束,否则神仙也不知道你想输入几个结束。
就是用while循环接收输入值,可以放到一个数组里面,输入结束后再逐个计算结果。
本题确实不是计算 n!,是 n*(n+1)/2
热心网友
时间:2023-10-19 03:35
你用开辟内存的方法吧,很容易:
#include <stdio.h>
#include <stdlib.h>
long sum(long n)
{
long ret,i;
if(n<1)
exit(0);
for(i=1,ret=0;i<=n;i++)
ret+=i;
return ret;
}
void main()
{
int i,n;
long *p;
scanf("%d" ,&n);
if(n<1)
exit(0);
p=(long *)malloc(sizeof(long)*n);
if(p==NULL)
exit(0);
for(i=0;i<n;i++)
scanf("%ld",p+i);
for(i=0;i<n;i++)
printf("%ld\n",sum(*(p+i)));
free(p);
}
热心网友
时间:2023-10-19 03:36
#include <stdio.h>
int main()
{
int i,sum,n;
while(scanf("%d",&n)!=EOF)
{
sum=0;
for(i=1;i<=n;i++)
sum+=i;
printf("%d\n",sum);
}
return 0;
}
热心网友
时间:2023-10-19 03:37
用字符串不就可以了吗??
位数的话用字符串长度,然后把字符串转成int.