「素因数分解の利用2」の編集履歴(バックアップ)一覧に戻る

素因数分解の利用2 - (2012/11/27 (火) 18:59:05) の編集履歴(バックアップ)


マスターオブ整数論 大学への数学

問い2-1

3/xが丁度小数点以下3桁となる既約分数は何個あるか?


#include<stdio.h>
int yakusuuCount(int n){
int re=1;
for(int i=2;i*i<=n;i++){
	int count=1;
	while(n%i==0){
		n/=i;
		count++;
	}
	re*=count;
}
if(n!=1)re++;
return re;
}
int calc1(int n,int keta){
return (yakusuuCount(n))*((keta+1)+(keta));
}
int main(){
printf("%d",calc1(3,3));
}




問い2-2


(384-12m)が自然数となるようなmを全て求めよ。
√(7n)<42となるnの和を全て求めよ。


#include<stdio.h>
#include<math.h>
void calc(int m,int n){
for(int i=1;i*n<m;i++){
	int k=sqrt(m-n*i);
	if(k*k==m-n*i)printf("%d ",i);
}
}
int calc2(int n,int m){
int re=0;//本当は素因数分解をりようして桁あふれが起きないように計算するのだけどまあ手抜き
for(int i=1;sqrt(n*i)<m;i++){
	int k=sqrt(n*i);
	if(k*k==n*i&&k<m)re+=i;
}
return re;
}
int main(){
calc(384,12);
printf("\n%d ",calc2(7,42));
}