从键盘输入一个自然数n,找出所有连续的自然数
段 (有不少于2个数),每个连续的自然数段中的全
部数之和为n,如果有符合上述条件的自然数段,
则输出这些自然数段中每段的第一个数和最后一个
数,两数之间用符号~隔开,每段一行,所有行按
每行的第一个数从小到大升序排列。如果没有符合
上述条件的自然数段,则输出None。例如,
输入:10000 输出:18~142
297~328
388~412
1998~2002
c语言 具体程序 谢谢
累加和等于n的自然数段
答案:4 悬赏:50 手机版
解决时间 2021-03-21 04:12
- 提问者网友:咪咪
- 2021-03-20 13:43
最佳答案
- 五星知识达人网友:污到你湿
- 2021-03-20 14:04
#include
main()
{
int n,flag=0,i,j;
scanf("%d",&n);
for(i=1;i<=n/2;i++)
{
for(j=i+1;j<=n-i;j++)
{
if((i+j)*(j-i+1)==2*n)
{
printf("%d~%d\n",i,j);
flag=1;
}
}
}
if(flag==0)
printf("None\n");
return 0;
}
main()
{
int n,flag=0,i,j;
scanf("%d",&n);
for(i=1;i<=n/2;i++)
{
for(j=i+1;j<=n-i;j++)
{
if((i+j)*(j-i+1)==2*n)
{
printf("%d~%d\n",i,j);
flag=1;
}
}
}
if(flag==0)
printf("None\n");
return 0;
}
全部回答
- 1楼网友:街头电车
- 2021-03-20 16:24
这是编程问题啊
弄个i,从1开始一点点加呗
- 2楼网友:鱼忧
- 2021-03-20 15:41
这是编程问题啊
弄个i,从1开始一点点加呗
- 3楼网友:荒野風
- 2021-03-20 15:35
#include<stdio.h>
void main()
{
int i=1,r=0,n;
scanf("%d",&n);
while (i<=n){
r+=i;
i++;}
printf("%d",r);
}现在没电脑只找到这个啊~~你先试试吧··
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯