結果

問題 No.677 10^Nの約数
ユーザー toto
提出日時 2025-03-26 10:50:58
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
MLE  
実行時間 -
コード長 731 bytes
コンパイル時間 533 ms
コンパイル使用メモリ 28,800 KB
実行使用メモリ 813,056 KB
最終ジャッジ日時 2025-03-26 10:51:01
合計ジャッジ時間 3,137 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 7 MLE * 1 -- * 9
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:7:17: warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘long long int*’ [-Wformat=]
    7 |         scanf("%d", &input);
      |                ~^   ~~~~~~
      |                 |   |
      |                 |   long long int*
      |                 int*
      |                %lld
main.cpp:7:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    7 |         scanf("%d", &input);
      |         ~~~~~^~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>

int main()
{
	// 入力された値(桁数)
	long long input;
	scanf("%d", &input);
	// 約数を出力する整数
	long long val = 1;
	for(int i = 0;i < input;i ++){
		val *= 10;
	}
	
	// 約数を格納する配列を初期化
	long long arr[val/2];
	for(long long i = 0;i < val/2;i ++){
		arr[i] = 0;
	}
	
	int j = 0;
	for(int i = 1;i <= val / i;i ++){
		if(val % i == 0){
			arr[j] = i;
			j++;
			if(i != val / i){
				arr[j] = val / i;
				j++;
			}
		}
	}
	// ソート
	for(int i = 0;i < j;i ++){
		for(int k = 0;k < j;k ++){
			if(arr[i] < arr[k]){
				long long tmp = arr[i];
				arr[i] = arr[k];
				arr[k] = tmp;
			}
		}
	}
	// 出力
	for(int i = 0;i < j;i ++){
		printf("%lld\n",arr[i]);
	}
}
0