求因数的编程
㈠ pascal编程 输出1到100所有数的全部因数。 要有过程和分析
var i,j:integer;
begin
for i:=1 to 100 do {1到100所有的数}
begin
write(i,':');
for j:=1 to i do
if i mod j=0 then write(j,' '); {由判断i 是否被j 整除证明j 是否是i的因数}
writeln;
end;
end.
很简单的。
㈡ 任意给定一个大于1的整数n,设计一个算法求出n的所有因数。 并编程。 谢了喔!!
int x,y,z;
int data[1024];
int i=0;
scanf("%d",&x);//输入要求因的数
for(y=2;y<x;y++) //循环从2开始到x-1结束
{
for(z=x-1;z*y>x;z--); //循环,z从后面杀上来,知道其二者之积小于或等于x,才结束
if(z*y==x) //检测是哪种结束情况,并对正确情况进行保存
{data[i]=y;
i++;}
}
ps:好久没编程了,应该没问题(可能有重复保存的情况,个人分析),如果正确lz一定要给分啊,急需
㈢ 求一个数的质因数。c语言编程
这个问题,首先,用筛选法找出质素,然后,遍历这个素以内的所有素数,找到质因数!
#include <stdio.h>
#define MAX 1001
char a[MAX];
int main()
{
int i,j;
for(i = 2; i < MAX; i++)
{
if(a[i] == 0)
for(j = i+i; j < MAX; j += i)
a[j] = 1;
}
int n;
printf("Please enter a number:\n");
scanf("%d",&n);
for(i = 2; i <= n/2; i++)
{
if(a[i] == 0)
{
if(n % i == 0)
printf("%d ",i);
}
}
printf("\n");
}
㈣ C语言如何求出一个数的“因数”求源代码
#include<stdio.h>
intmain(void)
{
intx,i=2;
printf("请输入一个整数:");
scanf("%d",&x);
while(i<=x)
{
if(x%i==0)
{
printf("%d",i);
x=x/i;
i=2;
}
else
i++;
}
return0;
}
㈤ 这个输入整数捕获异常求因数java怎么写啊
最简单的办法,用Scanner。先看代码吧,有非常详细的注释了:
import java.util.Scanner;
public class Capture
{
public static void main(String[] args)
{
System.out.print("输入一个整数:");
var input = new Scanner(System.in);
long source; // 用long接受范围比较大
while (true) // 无限循环走起
{
try
{
// Scanner.nextLong()如果输入不符合类型会抛出异常
source = input.nextLong();
// 如果成功就会运行到break跳出循环
break;
}
catch (Exception e)
{
System.out.print("必须输入整数:");
// 捕获异常后获取新的Scanner,目的是刷新缓冲区(必须有)
// 否则上次的输入会影响判断,造成死循环
input = new Scanner(System.in);
}
}
// 取绝对值(负数最大因子也是正数)
source = source > 0 ? source : -source;
long factor = 1;
// 从2开始算起
for (long i = 2; i < source; i++)
{
// 找到最小的因子就等于找到了最大的因子
if ((source%i) == 0)
{
factor = source / i;
break;
}
}
System.out.println("该整数的最大因子为:" + factor);
}
}
接运行结果:
如果还有疑问可以追问。
㈥ 编写程序:求因数个数。给定一个正整数n,求它的因数个数
满意请采纳。
具体代码就不写了,只说思路。
比如求n的因数个数。用循环则让n从1除到n,当余数为0的时候计数,比如用s计数,让s+=1。
最后s就是因数个数
㈦ C语言程序设计:改错,输入一个整数,输出其所有因数。求答案
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。
如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。
具体的源码实现如下:
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
intn;
while(scanf("%d",&n)!=EOF)
{
if(n<1)break;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf("
");
}
return0;
}
编译运行后的结果:
㈧ 输入一个正整数,编程找出其因数,并输出
核心代码就那几句,从2到a2循环检测a除i的余数,若余数为0,证明i是a的其中一个因数,将i保存在因数数组里面,注意事先并不知道数组arr()的长度,因此每次进入循环需要redim重新定义数组长度,preserve关键字保留数组中原来已经存进去的数据(否则重新定义的话,数组里原有的数据会丢失!)
Public Class Form1
Dim flag As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a As Integer = 63 '以63为例测试,随便改
Dim arr() As Integer
For i = 2 To a 2
If a Mod i = 0 Then
ReDim Preserve arr(flag)
arr(flag) = i
flag += 1
End If
Next
Dim str As String = Nothing
For i = 0 To (arr.Length - 1)
str = str & arr(i) & " "
Next
MsgBox(a & "的因数有:" & str)
End Sub
End Class
㈨ VB 编程 找出因数 ~ 急 在线等
Private Sub Form_Load()
HScroll1.Min = 4
HScroll1.Max = 40
HScroll1.LargeChange = 1
End Sub
Private Sub HScroll1_Change()
Picture1.Cls
For i = 1 To HScroll1.Value
If HScroll1.Value / i = Int(HScroll1.Value / i) Then
a = a + i
Picture1.Print i
End If
Next
Picture1.Print HScroll1.Value & "的因子之和为:" & a
End Sub
Private Sub Command1_Click()
Picture1.Cls
End Sub
'请采纳赞同!谢谢!