当前位置:首页 » 编程语言 » 求第n个合数c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

求第n个合数c语言

发布时间: 2022-06-16 13:25:21

A. c语言求素数合数

# include <stdio.h>
# include <math.h>

int main(void)
{
int m,i,k;
scanf("%d",&m);

k=(int)sqrt(m);

for(i=2;i<k;i++)
{
if(m%i==0)
break;//here
}
if(i==k)//here
{
printf("%d素数\n",m);
}
else
{
printf("%d合数\n",m);
}
return 0;
}

这个的思想是通过递增除
到整除的就跳出
也就是你的
if(m%i==0)
break;//here

如果是素数就不会有跳出,则最后的时候i已经增加到k值
所以最后通过判断i与k是否相等来得知是否是素数

B. c语言 合数的求法

#include<math.h>
#include<stdio.h>
void
main()
{
int
m,k,i,n=0;
for
(m=101;m<=200;m++)
{
k=(int)sqrt(m);
for(i=2;i<=k;i++)
{if(m%i==0)
{printf("%d
",m);
n=n+1;
if(n%8==0)
printf("\n");
break;
}
}
}
printf("\n%d\n",n);
}
200内的合数为79

C. c语言编程,求一个数的合数。急!求大神解答!

#include<stdio.h>
void main()
{
int num,i,s;
scanf("%d",&s);
for(num=2;num<s;num++)
{
for(i=2;i<num;i++)//注意是i<num,不包括本身num
{
if(num%i==0)
{
printf("%d\n",num);
break;//只要满足一个条件就break
}
}
}
}

D. c语言,求一个数的合数,所谓合数就是将一个数的各位合并相加直到只能是个位数为止

#include <stdio.h>
int main(){
long long int n;
int sum=0;
scanf("%lld",&n);
while(n){
sum+=n%10;
if(sum>9) sum%=9;
n/=10;
}
printf("%d",sum);
return 0;
}

E. c语言编程:合数分解

#include<stdio.h>
intmain()
{inti,k,n;
scanf("%d",&n);
for(i=2;i*i<=n;i++)
if(n%i==0)
{k=0;
while(n%i==0){k++;n/=i;}
if(k>1)printf("%d",i);
}
printf(" ");
return0;
}

F. C++求n个连续自然合数

Q1:p=new ___________; //连续开辟n个整型空间, 将整型空间的首地址赋给p
A1:p=new int[n];
------------------------------------------
Q2:while(_____&&j<n)//当前的数i是合数且没有找到连续n个时, 循环向后寻找
A2:while(yes(i)&&j<n)
------------------------------------------
Q3:__________;
//对这个对象完成寻找连续的合数的操作, 并把操作结果存放在动态开辟的空间中
A3:num.fun();
------------------------------------------
Q4:_________; //调用对象的成员函数, 输出连续的合数
A4:num.print();

G. c语言合数问题,哪位高人帮忙。好像我的算法结构就有问题。。。

//你的漏洞:
#include <stdio.h>
#define N 21
void main()
{
int i,n,m;
printf("请输入M值:");
scanf("%d",&m);
m++;

loop2:
for(i=2;i<m;i++)
{
if(m%i==0)//你的算法就是合数肯定进去处理
{
loop1: for(n=2;n<N;n++)
{
for(i=2;i<n;i++)//i和外面的i冲突了
{
if(n%i==0)
goto loop1;
}
if(m%n==0)
{
m++;//m++到素数的时候
goto loop2;
}
}
}
//m++到素数的时候,不会进if处理,最后得到的是大于输入的最小素数
}
printf("%d\n",m);
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//在你基础上修改如下:
#include <stdio.h>
#define N 21
void main()
{
int i,j,n,m;
printf("请输入M值:");
scanf("%d",&m);
m++;

loop2:
for(i=2;i<m;i++)
{
if(m%i==0)
{
for(n=2;n<N;n++)//其实小于21的素数就8个,没必要for浪费资源
{
for(j=2;j<n;j++)//i和外面的i冲突了
{
if(n%j==0)
{
break;//修改,不能到loop1
}
}
if( j==n && (m%n==0) )//修改,j==n则素数
{
m++;
goto loop2;
}
}
break;
}
}

if ( i==m )//增加,m是素数继续
{
m++;
goto loop2;
}

printf("\n求得合数:%d\n",m);

//增加分析:
//不能有素数因子2 3 5 7 11 13 17 19
printf("\n\n合数%d的所有因子:\n",m);
for (i=2;i<m;i++)
{
if (m%i == 0)
{
printf("%-5d",i);
}
}
printf("\n\n输入20675看看\n");
}

H. 求C语言编程:输出1-100之间所有的合数

定义:一个数被1和他本身整除外,还有1个或以上因数的自然数为合数。
程序改正如下:
#include<stdio.h>
void
main()
{
int
num,i;
for(num=2;num<100;num++)
{
for(i=2;i<num;i++)//注意是i<num,不包括本身num
{
if(num%i==0)
{
printf("%d\n",num);
break;//只要满足一个条件就break
}
}
}
}
程序已通过编译测试。
回答完毕,如果觉得回答得好,请采纳为最佳答案。

I. C语言,NOJ上有一道题,探索合数世纪,不会做,望指点

您好,1、当x=1时,a-b+c=0;
2、当x=-2时,4a+2b+c=1;
3、a+b=1/3;
4、(2)-(1),得3a+3b=1;
5、从上面各式,可以求出:b=1/3-a,c=1/3-2a;
6、原方程变为:ax^2-(1/3-a)x+1/3-2a=0;
7、解方程,x = (1/3-a)+-sqrt((1/3-a)^2-4a(1/3-2a))/(2a) = [1/3-a+/-(3a-1/3)]/(2a)
解得两个根 x1 = 1(已知的);x2 = 1/(3a)-2

J. C语言求1000个数之内的合数

#include <stdio.h>
int main()
{
int i,j;
for(i=4;i<=1000;i++)
for(j=2;j<=i/2;j++)
if(i%j==0)
{
printf("%d\t",i);
break;
}
getchar();
return 0;
}
这是我写的代码,应该正确的