求因數的編程
㈠ 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
'請採納贊同!謝謝!